Java 无法解析属性:X/Y Hibernate
我有1个实体,属性是其他实体,例如:Java 无法解析属性:X/Y Hibernate,java,hibernate,alias,criteria,Java,Hibernate,Alias,Criteria,我有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 Seriali
@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;
}
当我尝试对“代理”字段的“Visite”应用限制时,会出现错误:“无法解析属性:X of: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次查询结果,我得到了所有重复的结果,我不知道为什么
谢谢你只是一个提示:将字段翻译成英语可以让非西班牙语人士更容易理解其语义。对不起,我没有意识到。谢谢;)@Juanjo,你的问题不清楚。什么是
Visita、Visitador
字段?此外,您正在为实体中不存在的字段(如地址、类别等)创建别名。最后,不清楚哪些字段有效,哪些字段无效,以及您收到的异常(如果有异常,请显示异常的堆栈跟踪)。请编辑您的问题并提供完整的细节。我用翻译更新了问题。对不起,我没有放更多的代码来澄清这个问题。例如,如果我想对agent进行限制,agent.uniqueId可以工作,但agent.displayName不能example@Juanjo,仍然不清楚当你说它不起作用时,它意味着什么?得到一些错误?请检查hibernate生成的查询,看看是否有任何问题。