繁体   English   中英

hql在spring jpa中选择一对多关系的查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM