java – Hibernate中的关联类映射
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Hibernate中的关联类映射,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1382字,纯文字阅读大概需要2分钟。
内容图文
![java – Hibernate中的关联类映射](/upload/InfoBanner/zyjiaocheng/771/1b69567f61464e57885c47e25c700daa.jpg)
我是学生,我是Hibernate框架的新手,我有一个关联类
我想知道如何映射它
情况:
Entity_1[0..\*]-------------------------[0..\*]Entity_2
|
|
|
|
|
Association class
Date_affectation
Date_expiration
我应该使用什么关联规则?
解决方法:
您可以将关联建模为单独的关联实体.时态数据可以建模为常规Date属性(如@Temporal(TemporalType.TIMESTAMP)).
您可以将关联的PK建模为Entity_1和Entity_2的外键的组合 – 这将使关联成为依赖实体.或者您可以为其分配一个自己的ID,并通过ManyToOne关系连接到Entity_1和Entity_2.
编辑:我的示例实现的大部分是从@ Vlad的答案无耻地被盗,因为主要区别在于实体具有id并且可查询而可嵌入不是.
我已经从Date列中删除了@Column(updatable = false),因为我不确定这是否是必需的并且添加了@Temporal(TemporalType.TIMESTAMP),因为它是required by the JPA spec,因此增加了可移植性.
由于这是一个双向映射,我在反面使用mappedBy(实体)而不是在拥有方(关联)上使用JoinColumn.
@Entity
public class Association {
@Id
@GeneratedValue(...)
private Long id;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date affectation;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date expiration;
@ManyToOne(fetch=FetchType.LAZY)
private Entity1 entity1;
@ManyToOne(fetch=FetchType.LAZY)
private Entity2 entity2;
}
Entity1和Entity2看起来相同,只需替换数字.我不确定使用Set接口的附加值,所以我用List替换它,但也许我错过了一些东西.
public class Entity1 {
@OneToMany(mappedBy="entity1")
private List<Association> associations = new ArrayList<Association>();
...
}
内容总结
以上是互联网集市为您收集整理的java – Hibernate中的关联类映射全部内容,希望文章能够帮你解决java – Hibernate中的关联类映射所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。