KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is there way to map immutable Value objects like email address using JPA? @Immutable @Embeddable public final class EmailAddress { private final String value; public EmailAddress(String value) { this.value = value; } public String getValue() { return value; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EmailAddress that = (EmailAddress) o; return value.equals(that.value); } @Override public int hashCode() { return value.hashCode(); } } Now I get exception on entity save org.hibernate.InstantiationException: No default constructor for entity: com.domain.EmailAddress org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:107) org.hibernate.tuple.component.AbstractComponentTuplizer.instantiate(AbstractComponentTuplizer.java:102) org.hibernate.type.ComponentType.instantiate(ComponentType.java:515) org.hibernate.type.ComponentType.deepCopy(ComponentType.java:434) org.hibernate.type.TypeHelper.deepCopy(TypeHelper.java:68) org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:302) org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203) org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129) org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:69) org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:179) org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135) org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61) org.hibernate.impl.SessionImpl.fire
Tags (comma-separated)
Save Edits
Cancel