日期:2014-05-20  浏览次数:20722 次

Hibernate many to one 查询问题
Orders 表
<hibernate-mapping>
  <class name="cn.com.moisten.Orders" table="orders" schema="dbo">
  <id name="id" type="java.lang.Integer">
  <column name="id" />
  <generator class="identity" />
  </id>
  <many-to-one name="User"
  column="userId"
  class="cn.com.moisten.User"
  fetch="select"
  not-null="true"
  cascade="save-update"
  />
  <property name="shopNumber" type="java.lang.Integer">
  <column name="shopNumber" />
  </property>
  <property name="shopPice" type="java.lang.Integer">
  <column name="shopPice" />
  </property>
   
  </class>
</hibernate-mapping>

User 表
<hibernate-mapping>
  <class name="cn.com.moisten.User" table="userTable" schema="dbo">
  <id name="id" type="java.lang.Integer">
  <column name="id" />
  <generator class="identity" />
  </id>
  <property name="userName" type="java.lang.String">
  <column name="userName" />
  </property>
  <property name="userPassword" type="java.lang.String">
  <column name="userPassword" />
  </property>
   
  </class>
</hibernate-mapping>

查询 Orders 表的时候不能得到 user表的信息
写入的时候没有问题。

------解决方案--------------------
lazy="false"!!
------解决方案--------------------
无论延迟还是不延迟,只要session没有关闭,都应该能得到的。配置文件没问题,把你的代码贴出来吧