2011-06-29 5 views
1
public class UserRole implements java.io.Serializable { 
    /** */ 
    private long id; 

    /** */ 
    private UserAcegi userAcegi; 
    /** 
    * 
    */ 
    public UserRole() { 
    } 
    /** 
    * 
    * @param idVar - 
    */ 
    public UserRole(final int idVar) { 
     this.id = idVar; 
    } 
    /** 
    * 
    * @param idVar - 
    * @param roleVar - 
    * @param userAcegiVar - 
    */ 
    public UserRole(final int idVar, final UserAcegi userAcegiVar) { 
     this.id = idVar; 

     this.userAcegi = userAcegiVar; 
    } 
    /** 
    * 
    * @return long 
    */ 
    public long getId() { 
     return this.id; 
    } 
    /** 
    * 
    * @param idVar - 
    */ 
    public void setId(final long idVar) { 
     this.id = idVar; 
    } 

    /** 
    * 
    * @return UserAcegi 
    */ 
    public UserAcegi getuserAcegi() { 
     return this.userAcegi; 
    } 
    /** 
    * 
    * @param userAcegiVar - 
    */ 
    public void setuserAcegi(final UserAcegi userAcegiVar) { 
     this.userAcegi = userAcegiVar; 
    } 

} 

<hibernate-mapping> 
    <class name="UserRole" table="userrole" > 
     <id name="id" type="long"> 
      <column name="id" /> 
      <generator class="native" /> 
     </id> 

     <many-to-one name="userAcegi" class="UserAcegi" fetch="select"> 
      <column name="userid" /> 
     </many-to-one> 
    </class> 
</hibernate-mapping> 

を行うときに、プロパティを解決できませんでしたスロー=================Hibernateは==========================私は、次の操作

Criteria criteria = ThreadSessionManager.getCurrentThreadSession().currentAccegiSession().createCriteria(UserRole.class); 

    criteria.add(Restrictions.eq("userAccegi.id", "7300765")); 

    final List objList = criteria.list(); 
    return objList; 
+1

Typo?いくつかの場所では、 'accegi'と他の' acegi'との間で言います。 –

+1

スタックトレースを追加してください。また、 'userAcegi'に基づいてフェッチしようとするので、' UserAcegi'のxmlも追加できますか? id'。 –

答えて

0
はあなたのこのライン criteria.add(Restrictions.eq( "userAccegi.id"、 "7300765")を)を変更

criteria.add(Restrictions.eq( "userAccegi.userid"、 "7300765"));

希望します。

0

userAcegiプロパティのidプロパティを参照する場合は、userAcegiプロパティのエイリアスを設定する必要があります。それは次のようになります:

Criteria criteria = ThreadSessionManager.getCurrentThreadSession().currentAccegiSession().createCriteria(UserRole.class); 

criteria.createAlias("userAcegi", "ua", Criteria.INNER_JOIN); 
criteria.add(Restrictions.eq("ua.id", "7300765")); 

これは役に立ちます。

関連する問題