如何设置休眠文件?
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-关系。
(不好意思回答没评论,声望还不够...)
我有一个 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-关系。
(不好意思回答没评论,声望还不够...)