Я хотел бы сделать этот запрос в JPA:Именованный запрос, когда свойство является объектом?
SELECT * FROM `happyDB`.`users` U WHERE U.party_as_user =1 AND U.party_party_id =2
Это работает хорошо, но моя проблема в том, что у меня есть Party
только как объект, а не как идентификатор, и я не могу заставить его работать.
В Users
-логического объекта, где я пытаюсь сделать именованный запрос у меня есть следующие:
@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")
Объект partyId
находится внутри объекта Party
, но он не работает. Есть ли какое-либо решение для этого или мне нужно добавить одно свойство к компонентам-пользователям, как private int partyID
, и заполнять его каждый раз, когда новый Party
вставляется в Users
?
Спасибо за помощь! Сами Нурми
Какая ошибка вы получаете? Возможно, ваш партийный класс. В общем, зная партию отношений, вместо partyId будет иметь смысл. – James