Я оторвался от этой цели после успешного использования dataModel при рендеринге результата из hibernateTemplate (). Find
в другом классе, где нет сопоставления «многие к одному» с другим классом.
Кто-нибудь использовал аналогичное определение, подобное приведенному ниже, где вам нужен весь ParentClass плюс только одно свойство из дочернего класса.
В моем случае использования мне нужно отобразить receiveDate вместе со всеми другими значениями, содержащимися в экземпляре 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 ("выберите c.parentClass из myClass c");
Однако при попытке адресации элементов parentClass, например: parentClass.depotAddress
в dataTable я получаю следующую ошибку, так как parentClass не был загружен:
org.hibernate.LazyInitializationException: не удалось инициализировать прокси - нет сеанса
Буду признателен за любые указатели в правильном направлении.
В любом случае я только что нашел решение, принудительно загружая ParentClass с помощью:
<many-to-one class="myCatalog.model.orm.ParentClass" lazy=false fetch="select" name="pTable">