我正在尝试使用 Eclipse 将休眠与现有的 mysql 数据库一起使用。
我已经成功地将表映射到类并执行了一些查询。但我有一个一对多关系的问题。
我有表“CARATTERISTICHE”(属性),它实际上是一棵树,由连接表“VALORI”(值)描述:“fk_child”“fk_parent”。
我希望 Caratteristica 类有一个类型为“children”的字段List<Caratteristica>
,其中孩子应该是 CARATTERISTICA 和 VALORI 的连接。
我的第一次尝试是创建一个 pojo Caratteristica 并让 eclipse 生成 hibernate 的配置文件。
这不起作用,因为当我启动 getChildren 时,我得到的只是同一个对象(即每个节点都是他的父亲,这在我的数据库中是错误的)。
这是生成的 xml 的摘录:
<class name="model.Caratteristica" table="caratteristiche">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="assigned"/>
</id>
<set access="field" lazy="true" name="children"
sort="unsorted" table="valori">
<key>
<column name="id"/>
</key>
<one-to-many class="model.Caratteristica"/>
</set>
请注意,如果将列键从 id 更改为 fk_child,他在表“CARATTERISTICHE”中找不到 fk_child(但它应该在 VALORI 中查找,对吗?)
我也尝试过从表中生成 pojos,但更糟..也许我遇到了这个问题hibernate-复合键配置但是..这是我第一次使用 hibernate,我真的迷路了!