私は2つのテーブルを持っています。健康とネットワーク
これは私のヘルス テーブル エンティティです。
@Table(name="health")
public class Health implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="hid")
private int hid;
@Column(name="ivid")
private int ivid;
@JoinColumn(name = "nwid")
@ManyToOne(fetch = FetchType.LAZY)
private Networks nwid;
}
ネットワークテーブルに何も利用できないヘルス行をフェッチしようとしています。そのため、ヘルステーブルの行レコードが得られません..
健康からその行が必要であり、そのレコードのネットワークテーブルを調べたくない..
私がcrit.createAliasを使用しないと...サーバーコールの取得に失敗しました。
try
{
session = sessionFactory.openSession();
Criteria crit = session.createCriteria(Health.class);
crit.createAlias("nwid", "network");
crit.createAlias("network.statsId", "stats");
crit.add(Restrictions.eq("ivid", 0));
Iterator<Health> it = crit.list().iterator();
while(it.hasNext()){
health = it.next();
}