我有1个实体属性是其他实体,例如:
@Entity
public class Visite implements Serializable {
@Id
private Integer id;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="agent_uid")
private Agent agent;
}
@Entity
public class Agent implements Serializable {
@Id
private Integer uniqueId;
private String displayName;
}
好吧,当我尝试对#34; Visite"关于"代理"字段,我收到错误:"无法解析属性:X:Visite"其中X是场。我尝试使用CreatingAlias,但它不起作用。
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Visita.class).createAlias("pdv", "pdv").
createAlias("pdv.address", "address").
createAlias("pdv.category", "category").
createAlias("agent", "agent").
createAlias("visiteType", "visiteType", Criteria.LEFT_JOIN).
createAlias("reason", "reason", Criteria.LEFT_JOIN).
add(Restrictions.eq("agent.uniqueId", agentId));
在此示例中,agent.uniqueId有效,但agent.displayName不起作用。 我得到的另一个失败是我得到了4次查询的结果,我得到了所有重复,我不知道为什么。
谢谢