2012-03-29 16 views
0

強いテキスト 1.EmpInformationファイルにDepartmentクラスの多対1を持つタグが含まれています。多対一のいくつかのより多くのマッピングといくつかの特性を有するorg.hibernate.ObjectNotFoundException:指定された識別子を持つ行がありません

<composite-id name="id" class="info"> 
      <key-property name="XXXid" type="int"> 
       <column name="xxxid" /> 
      </key-property> 
     <key-property name="AAA" type="string"> 
       <column name="aaa" length="50" /> 
      </key-property> 
      <key-property name="BBB" type="string"> 
       <column name="bbb" length="50" /> 
      </key-property> 
    </composite-id> 

    <many-to-one name="Dept" class="Department" update="false" insert="false" fetch="select"> 
       <column name="AAA" length="50" not-null="true" /> 
      <column name="BBB" length="50" not-null="true" /> 
    </many-to-one> 

</class> 

強いテキスト 2部門クラス。

<composite-id name="id" class="deptId"> 

    <key-property name="AAA" type="string"> 
      <column name="aaa" length="50" /> 
     </key-property> 
     <key-property name="BBB" type="string"> 
      <column name="bbb" length="50" /> 
     </key-property> 
    </composite-id> 

<property name="ReportId" type="java.lang.Integer"> 
     <column name="report_id" /> 
    </property> 


</class> 

強いテキスト 私の質問は、私はそれがERを与えることだgetDepartmentにReportIDを呼び出すようにしようとしていますいつでもありますorg.hibernate.ObjectNotFoundException:指定された識別子を持つ行が存在しません: Department情報を取得できません。

  1. リストa = createCriteria(EmpInformation.class);

  2. 整数I = a.getDepartment()。getReportID();

強いテキスト これは、我々は部門の情報にアクセスするために使用しているのstmtです:私はいくつかの詳細情報を指すようにしたい

強いテキスト ここ 1.レイジーはtrueです私は子テーブルのエンティティにアクセスするたびにその情報を取得する必要がありますが、そうではありません。 2.それを削除すると、それを置くように求められます。必須です。update = "false" insert = "false"

私は他のフォーラムでもこの質問をしましたが、ボディはまだ回答していません。この厳しい質問があるかどうか疑問に思っていましたか?私は起こっていただきました見つけることができ、データの問題のように見えますが、まだない

... :)

答えて

0

はい、それはデータの問題です。親テーブルのカラムIDを渡して子からデータを取得しようとしているときはいつでも、子テーブルで利用できるidと同じデータを取得します。そうしないと、ObjectNotFound例外としてエラーが発生します。

+0

あなたの答えは少し不明です、あなたはそれを詳しく教えてください –

関連する問題