HibernateオブジェクトForumMessageをロードしようとしていますが、その中に別のオブジェクトがあります。UsersとUsersオブジェクトがロードされていません。Hibernateが関連するオブジェクトをロードしていません
マイForumMessageマッピングファイル:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jan 4, 2011 10:10:29 AM by Hibernate Tools 3.4.0.Beta1 -->
<hibernate-mapping>
<class name="com.BiddingSystem.Models.ForumMessage" table="FORUMMESSAGE">
<id name="ForumMessageId" type="long">
<column name="FORUMMESSAGEID" />
<generator class="native" />
</id>
<property name="ForumMessage" type="java.lang.String">
<column name="FORUMMESSAGE" />
</property>
<many-to-one name="User" class="com.BiddingSystem.Models.Users" fetch="join">
<column name="UserId" />
</many-to-one>
<property name="DatePosted" type="java.util.Date">
<column name="DATEPOSTED" />
</property>
<many-to-one name="Topic" class="com.BiddingSystem.Models.ForumTopic" fetch="join">
<column name="TopicId" />
</many-to-one>
</class>
</hibernate-mapping>
と私はfollwingのコードを使用しています:
あなたが "偽" =怠け者にも追加する必要がありSession session = gileadHibernateUtil.getSessionFactory().openSession();
SQL="from ForumMessage";
System.out.println(SQL);
Query query=session.createQuery(SQL);
System.out.println(query.list().size());
return new LinkedList <ForumMessage>(query.list());
対応するテーブル定義を表示できますか? – jaydel
これはHibernateの遅延読み込みと思われます。 オブジェクトは使用する前にロードされません "ForumMessage"リンクリストからユーザーオブジェクトにアクセスしてみてください。 – exiter2000