多对多和HQL

Cic*_*chy 1 sql hibernate hql

我上课了:

@Entity
@Table(name="restaurants")
public class Restaurant {
    @Id
    @GeneratedValue
    private int id;
    private String name;
    private String street;
    (...)
    @ManyToMany
    @JoinTable(name="user_restaurant_owner",
            joinColumns={@JoinColumn(name="restaurant_id")},
            inverseJoinColumns={@JoinColumn(name="username")})
    private List<User> owner;
Run Code Online (Sandbox Code Playgroud)

如果我知道用户("所有者")用户名,如何获得餐厅?

查询q = session.createQuery("从餐厅作为r,其中r.owner =:username").setString("username",username);

它不起作用

dig*_*oel 8

如果要选择集合中元素的属性,则需要在HQL中加入集合.

from Restaurant r join r.owner o where o.username = :username
Run Code Online (Sandbox Code Playgroud)