首页 > 代码库 > Hibernate @IdClass @EmbeddedID相关注解
Hibernate @IdClass @EmbeddedID相关注解
Hibernate Annotations
Mapping composite primary keys and foreign keys to composite primary keys:
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#d0e2177
引用Composite primary keys use a embedded class as the primary key representation, so you‘d use the @Id and @Embeddable annotations. Alternatively, you can use the @EmbeddedId annotation. Note that the dependent class has to be serializable and implements equals()/hashCode(). You can also use @IdClass.
@Entity public class RegionalArticle implements Serializable { @Id public RegionalArticlePk getPk() { ... } } @Embeddable public class RegionalArticlePk implements Serializable { ... }or alternatively
@Entity public class RegionalArticle implements Serializable { @EmbeddedId public RegionalArticlePk getPk() { ... } } public class RegionalArticlePk implements Serializable { ... }
hibernate的annotation的文档中提供了三种方法
1 将组件类注解为@Embeddable,并将组件的属性注解为@Id
2 将组件的属性注解为@EmbeddedId (方便)
3 将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id(符合编程习惯)
主键类需要序列化(考虑到可能会将数据读写到虚拟内存中),需要重写hashcode()和equals()方法,因为要对联合主键进行比较.
Hibernate Annotation 联合主键三种写法的例子:
http://laodaobazi.iteye.com/blog/903236
Which anotation should I use: @IdClass or @EmbeddedId:
http://stackoverflow.com/questions/212350/which-anotation-should-i-use-idclass-or-embeddedid
Compound Primary Keys with Hibernate and JPA Annotations:
http://jpa.ezhibernate.com/Javacode/learn.jsp?tutorial=15usingcompoundprimarykeys
@IdClass and @EmbeddedId:
http://www.coderanch.com/t/452567/ORM/java/IdClass-EmbeddedId
Hibernate @IdClass @EmbeddedID相关注解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。