【发布时间】:2012-04-26 20:18:28
【问题描述】:
我想在 JPA 中进行此查询:
SELECT * FROM `happyDB`.`users` U WHERE U.party_as_user =1 AND U.party_party_id =2
这工作正常,但我的问题是我将 Party 仅作为对象,而不是作为 id,我无法使其工作。
在我尝试执行命名查询的Users-entity 中,我有以下内容:
@JoinColumn(name = "pary_party_id", referencedColumnName = "party_id")
@ManyToOne
private Party partyId;
@Column(name = "party_as_user")
private Boolean partyAsUser;
我尝试像使用点符号的对象一样实现它,但这不起作用:
@NamedQuery(name = "Users.findByPartyAsUser", query = "SELECT u FROM Users u WHERE u.partyAsUser = :partyAsUser AND u.partyId.partyId = :partyId")
Party 对象中有一个名为partyId 的属性,但它不起作用。是否有任何解决方案,或者我是否必须向用户 bean 添加一个属性,例如 private int partyID 并在每次将新的 Party 插入到 Users 时填充它?
感谢您的帮助! 萨米·努尔米
【问题讨论】:
-
你得到什么错误?也许包括你的派对课。一般来说,调用关系方而不是 partyId 是有意义的。
标签: jpa eclipselink named-query