我有两张桌子。健康与网络
这是我的健康表实体:
@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();
}