Hibernate工具逆向工程创建Set或List

时间:2017-02-06 05:55:10

标签: java hibernate hibernate-tools

两个表ABB有一个NOT NULL外键(多对一),指向AA中没有列,表示B表存在。这意味着关系是单向

使用Eclipse hibernate工具反向工程创建POJO类AB。类B有一个类型为A的属性,这是正确的。

但是,为什么类A的属性为List<B>,即使定义的关系不是双向的。

这对于开发中的任何优势还是这样,逆向工程如何工作?

如果有更多的表格C,D,E...A具有相同的关系,那么班级A将拥有那么多List<?>个变量,我认为它看起来并不像不错。有什么方法可以避免这种情况吗?

1 个答案:

答案 0 :(得分:0)

Eclipse JPA工具用于在从表中找到外键时创建双面关系;我没有参考这个,这是基于Eclipse多年使用的经验推论。

这种行为非常常见:Eclipse为您在类@ManyToOne上创建了一个B字段,该字段是该关系的拥有一侧,@OneToManyA上的字段,它是关系的依赖方面。这意味着如果要将任何更改保存到数据库,则需要在拥有方进行操作;这也意味着你可以删除该字段,如果你不需要它。

AFAIK你不能告诉Eclipse避免创建依赖方,你必须自己删除它们。