私は次のように宣言されたクラスを持っています
@Entity
@Table(name = "word", schema = "public")
public class Word implements java.io.Serializable {
...
private ContentLanguage contentLanguage;
...
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "content_language_id", nullable = false)
public ContentLanguageT getContentLanguage() {
return this.contentLanguage;
}
public void setContentLanguage(ContentLanguage contentLanguage) {
this.contentLanguage = contentLanguage;
}
...
ContentLanguageは次のように宣言されています
@Entity
@Table(name = "content_language", schema = "public")
public class ContentLanguage implements java.io.Serializable {
private int id;
private String value;
....
私のアクションでは、ContentLanguageフィールドのid = 1であるすべてのWordをクエリする必要があります。ContentLanguageクラスに対する条件を作成し、これをWordテーブルに対するCriteriaに追加できると思いましたが、これは明らかにそれを行う方法ではありません。 。比較的単純なタスクのためにSQLまたはHQLを使い始めたくないので、何かアイデアはありますか?
public String execute()
{
//DetachedCriteria criteria1 = DetachedCriteria.forClass(ContentLanguageT.class);
//criteria1.add(Restrictions.eq("id",1));
DetachedCriteria criteria = DetachedCriteria.forClass(WordT.class);
//criteria.add( criteria1 );
criteria.add(Restrictions.eq("contentLanguageT", Integer.valueOf( contentLangID )));
allWords = wordDao.findByCriteria( criteria, 0, 50);
return SUCCESS;
}