hibernateTemplate和读取父/子类到dataModel



在呈现hibernateTemplate().find的结果时成功地使用了一个数据模型之后,我终于实现了这个目标在另一个没有多对一映射到另一个类的类上

有没有人使用过类似的定义,比如下面的定义,你需要所有的ParentClass加上子类的一个属性。在我的用例中,我需要显示receiptDate以及包含在ParentClass实例中的所有其他值。

<hibernate-mapping> <class catalog="myCatalog" name="myCatalog.model.orm.MyClass" table="myTable">
<id name="consignmentId" type="java.lang.Integer">
  <column name="myTable_id"/>
  <generator class="identity"/>
</id>
<many-to-one class="myCatalog.model.orm.ParentClass" fetch="select" name="pTable">
  <column name="pTable_id" not-null="true"/>
</many-to-one>
<property name="receiptDate" type="timestamp">
  <column length="19" name="receipt_date" not-null="true"/>
</property> </class> </hibernate-mapping>

我得到的最近的是:hibernateTemplate()。find("select c. parentclass from myClass c");

然而,当尝试寻址parentClass项时,例如:parentClass. depotaddress在数据表中,我得到以下错误,因为parentClass尚未加载:org.hibernate.LazyInitializationException: could not initialize proxy - no Session

如果您能指点我,我将不胜感激。

我刚刚找到了一个解决方案,通过强制在ParentClass上加载:

<many-to-one class="myCatalog.model.orm.ParentClass" lazy=false fetch="select" name="pTable">

你的问题很不清楚。如果您想做的是加载所有MyClass实例以及它们的pTable父实例,那么要使用的查询是

select m from MyClass m inner join fetch m.pTable

这当然在Hibernate参考文档中有描述。

相关内容

  • 没有找到相关文章

最新更新