I have an object with EmebeddedId . Listener entity (evens off whitepace Strings boot) to essentially run as expected, the same listener on id Embeddable not start at all.
Am I doing it wrong? How can this be fixed?
Entity:
@Entity @Table(name = "SUBMITTER_VIEW") @EntityListeners(TrimListener.class) public class Submitter implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId private SubmitterPK id; @Trim @Column(name = "DOC_NAME") private String name; ...
Built-in:
@Embeddable @EntityListeners(TrimListener.class) public class SubmitterPK implements Serializable { private static final long serialVersionUID = 1L; @Column(name = "LSTORT") private String bsnr; @Trim @Column(name = "LOGIN") private String login; ...
LISTENER:
public class TrimListener { Logger log = LoggerFactory.getLogger("TrimListener"); @PostLoad public void repairAfterLoad(final Object entity) throws IllegalAccessException { log.debug("trimlistener active"); final Set<Field> trimProps = getTrimProperties(entity.getClass()); for (final Field fieldToTrim : trimProps) { final String propertyValue = (String) fieldToTrim.get(entity); if (propertyValue != null) { fieldToTrim.set(entity, propertyValue.trim()); } } } ...
source share