2016-07-03 1 views
0

のリストを返します。Hibernateのクエリは、次のマッピングファイルでヌル

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 
<class name="net.woodenstar.model.shopcenter.GroupItem" table="GROUP_ITEMS"> 
    <id name="id" type="int"> 
     <column name="SHC_GIT_ID" /> 
     <generator class="org.hibernate.id.enhanced.SequenceStyleGenerator"> 
      <param name="sequence_name">GROUP_ITEMS_SEQUENCE</param> 
      <param name="optimizer">none</param> 
      <param name="increment_size">1</param> 
     </generator> 
    </id> 
    <property name="name" type="string"> 
     <column name="SHC_GIT_NAME" length="30" unique="false" not-null="true" /> 
    </property> 
</class> 

モデルGroupItemは何のためらいもなしで保存されているが、それがに来るとき:

List<GroupItem> result = query.list(); 

結果はメンバーはnullになります。 dbmsはmysqlです。

UPDATE ONE

クエリ:

from net.woodenstar.model.shopcenter.GroupItem e where 1=1 order by e.id 

enter image description here

+0

あなたは何のエラーもありませんか? –

+0

@YoucefLaidaniいいえ、エラーではありません。 – Khodabakhsh

+0

あなたの質問を表示できますか? –

答えて

1

何を見ているが空のArrayListの内部構造です。サイズを見てください。これは0です。これはヌルのリストではありません。それは空リストです。リストは配列によってバッキングされ、リストは空であるため、バッキング配列のすべての要素はnullです。

結果は完全に正常です。クエリで一致するエンティティが見つかりませんでした。

+0

さて、データベースにはエンティティがあり、コンソールログでhibernateによって生成されたsqlをmysqlで直接実行するたびに、結果が取得されました。 – Khodabakhsh

+0

これらのデータはまだコミットされていないか、Hibernateアプリケーションはテーブルを見るのと同じデータベース/スキーマに接続しません。 –

+0

上記のどれもありません。エンティティをデータベースに保存することは、アプリケーション自体を介して行われます。それ自身のインタフェース(phpMyAdmin)を持つデータベースを見ていると、コミットされたデータが表示されます。 – Khodabakhsh

関連する問題