如何设置休眠文件?

How to set up the hibernate file?

我有一个 AAAModelData.java 当有 getter 和 setter 像 :

public static final String STRING_BBB = "StringBBB";
public List<BBBModelData> getBBB() { return get(StringBBB); }
public void setBBB(List<BBB> StringBBB) { set(STRING_BBB, StringBBB); }

在数据库中: table_AAA

-------------------------------
|column Uid | column FoodId | column FoodName|
-------------------------------
1            1               chocolate
2            2               cake
3            3               biscuss

table_BBB

-------------------------------
|column Uid | column FoodId | column ingredient|
-------------------------------
1            1                sugar
2            1                favour
3            2                salt
4            2                coco
5            2                milk
6            3                beef
7            3                fish

现在我正在使用 hibernate 将 table_AAA 映射到 table_AAA.hbm.xml 中的 table_BBB,我想搜索 table_BBB 列 B.

例如,我的程序想要获取 "FoodId" 2 蛋糕的所有成分(实际上我需要 table_BBB 的全部 table 来完成我的工作)。 所以我可以将 table_BBB 放入 class BBB / BBBModelData which FoodId = 2;

但是我在使用休眠时遇到了一个非常非常非常难的问题,出现了很多问题,例如:不存在具有给定标识符的行, 预期 java.util.List ,实际值 xxxxxxxxx,序列化,越来越...

希望有人能提供/?大部头书。这是我以前尝试过的东西:

<many-to-one name="BBB"
class="com.foo.gwt.shared.model.entity.BBB"
column="FoodId" lazy="false" not-null="true" />

<many-to-one name="BBB"
class="com.foo.gwt.shared.model.entity.BBB"
cascade="save-update"/>

<property name="BBB" type="java.lang.String">
<column name="FoodId" />
</property> -->

其实我试了太多例子....无法一一列举....

据我所知,BBB 不能映射为具有当前 table 结构的不同实体。这个结构修复了吗?如果您想按原样使用结构,请查看组件映射,也许这会对您有所帮助: http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch09.html#components-incollections

<class name="com.foo.gwt.shared.model.entity.AAA" table="table_AAA">
    ...
    <list name="BBB" table="table_BBB" lazy="true">
        <key column="FoodId">
        <composite-element class="com.foo.gwt.shared.model.entity.BBB">
            <property name="ingredient"/>
        </composite-element>
    </list>
    ...
</class>

我不知道您是否或如何映射 uid 列,但您可能需要处理它们。

如果 table 结构没有修复,我会建议两个不同的 table 用于 AAA 和 BBB,第三个 table 到 link n:m-关系。

(不好意思回答没评论,声望还不够...)