[英]hql select query on one to many relationship in spring jpa
我和用户和国家/地区类之间有一对多的关系。 我正在尝试根据用户名获取国家/地区列表,但面临ClassCastExeption
//User.java
@Entity(name = "user")
public class User {
@Id
private String username;
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name="username")
private Set<Country> countries;
//setters & getters
}
//Country.java
@Entity
public class Country {
@Id
@GeneratedValue
private int id;
private String name;
//setters and getters
}
//控制器
System.out.println(entityManager.createNativeQuery("select * from country where username='Hussain'").getResultList().get(0) instanceof Country);
//输出为假
我尝试过如下创建Hql查询
entityManager.createQuery("select c from Country c where c.username='Hussain'")
它给出错误,例如c.username不是Country类的属性
感谢在广告中
您的hql必须是
from User u where u.username='Hussain'
它将用户返回给您,并使用
user.getCountries()
获取国家/地区。
更多信息:在现实世界中,我们通常将一个国家/地区设置为许多用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.