我有一個一對多關係的兩個實體類:查詢關聯表HQL
@Entity
@XmlRootElement
@DynamicInsert (value = true)
@DynamicUpdate (value = true)
public class Matchs {
@Id @GeneratedValue
private Long matchId;
private int size;
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "Match_Users",[email protected](name="match_id"),
[email protected](name="user_id"))
private List<User> users;
//Getters & Setters
}
@Entity
@XmlRootElement
@DynamicInsert (value = true)
@DynamicUpdate (value = true)
public class User {
@Id
private String username;
private String lastName,firstName,password,email;
private Date dateOfBirth;
//Getters & Setters
}
我想馬成順都爲特定的User.This是我的查詢:
FROM Matchs WHERE User.username=:username
這個查詢拋出org.hibernate.QueryException。我怎樣才能用HQL來實現這一點。
請提供該代碼的功能以及其工作原理的解釋。 – hexafraction
我嘗試了第二種方法,並得到以下異常:org.hibernate.QueryException:非法嘗試使用元素屬性引用[username] [FROM com解除引用collection [{synthetic-alias} {non-qualified-property-ref}用戶] .kyrogaming.models.Matchs WHERE users.username =:user] – user2054833