私は2つのモデル、クラブと場所があります。クラブは1つの場所のみを持つことができ、場所には多くのクラブを持つことができます。Criteriasを持つHibernateの多対一検索
// some other mappings, foreign key is "location" column in my actual table, as // can be seen below
<many-to-one name="location" column="location" class="path/to/Club.java">
が、私は彼らの場所でクラブを検索する必要があります。
// Club.java
public class Club {
private Location location;
// some other attributes and getters/setters
}
// Location.java
public class Location {
private int id; // primary key
// some attribues and getters/setters
}
そして、私の休止状態のマッピングは次のとおりです。私のPOJOクラスでは、私はこれらの2以下のように定義します。私は場所」と "location.id" を交換してみたびID
:ありません関連:そして、私は
Criteria crit = session.createCriteria(Club.class);
crit.createAlias("location.id", "location");
crit.add(Restrictions.eq("location", locationId);
は、しかし、私はエラー hibernate.QueryExceptionを取得し、以下のようなのcriteriasの使用を作ります"、getterを呼び出すときにIllegalArgumentExceptionが発生しましたLocation.idエラー。これまでのところ、私は両方の方法で目標を達成できませんでした。 Web上で数日間検索していたが、どれも役に立たなかった。ここでの問題は何ですか?
あなたは 'private integer id'を試しましたか?休止状態のプリミティブを使用すべきではありません... – joc
@jocは、問題に関係なく、できます!ありがとう! –