2012-02-03 10 views
1

このようにマッピングが設定されているとします。データベースにはCodeTypeの行があり、コード表にはCodeの行もあります。各Codeは特定のコードタイプにすることができます。多対1のマッピングされた列の休止状態

<class name="CodeType" table="CODE_TYPE"> 
    <id name="id" column="ID"> 
     <generator class="org.hibernate.id.MultipleHiLoPerTableGenerator"> 
      <param name="max_lo">100</param> 
     </generator> 
    </id> 
    <property name="name" column="NAME"></property> 
    <property name="description" column="DESCRIPTION"></property> 
    <property name="version" column="VERSION"></property> 
</class> 

ここにコードがあります。多くのコードが同じタイプになることができるので、many-to-oneが定義されています。

<class name="Code" table="CODE"> 
<id name="id" column="ID"> 
    <generator class="org.hibernate.id.MultipleHiLoPerTableGenerator"> 
     <param name="max_lo">100</param> 
    </generator> 
</id> 
<property name="name" column="name"></property> 
<many-to-one name="codeType" class="CodeType" column="CODE_TYPE_ID"></many-to-one> 
<property name="version" column="VERSION"></property> 

私は、特定のタイプを持っているこれらのコードを見つける必要があります。どうやってやるの? codeTypeをmany-to-oneに設定せず、代わりにIntegerとして保持した場合、私は簡単に.add(Restrictions.eq("codeTypeId", 42))のようなものを書くことができます。

答えて

1
Restrictions.eq("codeType.id", 42) 

や括弧がバランスされていない理由を

Restrictions.eq("codeType", session.load<CodeType>(42)) 
+0

? –

+0

私は他の場所からそれを貼り付けたのでコピーします。一定。 – Firo

関連する問題