hibernate one-to-many session关闭问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:04:59
<class name="com.test" table="school" catalog="school" >
<id name="id" type="java.lang.Integer">
<column name="teacherid" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="40" not-null="true" />
</property>
<set name="students" inverse="true" fetch="join" >
<key>
<column name="studentid" not-null="true" />
</key>
<one-to-many class="com.test.student" />
</set>
</class>

<hibernate-mapping>
<class name="com.test

在class标签里设置lazy="false"

lazy 表示 延迟加载的意思。
比如说 有两个实体。Student,Teacher。它俩可能是many-to-many的关系。现在我们针对many-to-one 来说: 我通过学生的ID,找到了老师这个对象。通过lazy 这个设置,我们可以进一步获取老师这个对象里的信息。(这就是lazy 的好处);
所以我们需要在 Teacher配置文件中的set节点中配置 lazy = false 属性。(只能在set节点内配置)

我怎么发现 你的<class name="com.test" table="school" catalog="school" >
全是一样的呀。表全是school吗。teacher表呢?

可以在从表对象里面设置一个主表对象的引用,在查询的时候就通过“引用.名称字段”,应该可以查出东西吧。

你的映射文件是在火星上生成的吗?