首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有集合集合的JPA实体

具有集合集合的JPA实体
EN

Stack Overflow用户
提问于 2015-01-20 16:19:21
回答 1查看 322关注 0票数 0

我想要一个包含集合和集合的实体,但是我面临一些问题,比如‘不能同时获取多个包’或空的结果集,其中我知道它应该包含条目。整件事都是关于饮食的,所以我有以下几个实体:

代码语言:javascript
复制
public class Diet extends BaseEntity{
@NotEmpty
@Column(unique = true)
private String name;
@OneToMany(cascade=CascadeType.ALL, mappedBy = "diet")
@LazyCollection(LazyCollectionOption.FALSE)
private List<DietEntry> dietEntry = new ArrayList<>();

@Entity
@Table(name = "diet_entry")
public class DietEntry extends BaseEntity{
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "dietId")
private Diet diet;
@ManyToMany(cascade=CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<Meal> meals = new ArrayList<>();
@ManyToMany(cascade=CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<ProductQuantity> products = new ArrayList<>();

我想从DietEntries和DietEntry的所有产品和食物中得到节食。我可以很容易地获得Diet,但是在获取集合方面有问题,所以我做了以下查询:

代码语言:javascript
复制
    Query query = this.em.createQuery("SELECT distinct(de) FROM     DietEntry de join de.products dep join de.meals dem WHERE de.diet = :diet");
    query.setParameter("diet", diet);
    return query.getResultList();

但是,它返回空的结果集。如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-28 19:42:56

正确答案:使用集合而不是列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28050211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档