I have a class:
public class Email {
private Str开发者_C百科ing name;
private String domain;
public String toString() {
return name + "@" + domain;
}
}
I want to use it in JPA column:
@Entity
public class User {
@Id private Integer id;
private Email email;
}
This is what Hibernate says:
org.hibernate.MappingException: Could not determine type for: com.XXX.Email
How to make it understand my custom type. I think that it's something very simple, but can't find in documentation.
Well, there are a number of ways:
annotate the
Emailclass with@Embeddable, and have:@Embedded private Email email;declare a custom value type - see here (using
@Type)
You can make email an entity and it will work...but it's pretty ineficcient.
@Entity
public class Email {
...
}
Or you can swtich from Email to String and it will work. (What's the point of wrapping a String anyway?)
You can read this tutorial about custom user types in Hibernate (since you tagged it).
Or you can use @Embebbed as Bozho says.
加载中,请稍侯......
精彩评论