[英]Java/JPA Select unique entities
我正在使用JPA存储具有创建日期的实体。 我想每个日期选择一个实体。 我不在乎哪一个,每个创建日期只要一个。 我一直在尝试子选择子句,但我无法让它们正常工作。 有人有什么想法吗?
本质上,我具有以下实体:
@Entity
class E {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
@Temporal(TemporalType.DATE)
private Date creationDate;
}
我想从表中选择以下内容:
ID DATE
1 3/4/5 <-- SELECT
2 3/4/5
3 4/4/5 <-- SELECT
4 5/4/5 <-- SELECT
5 5/4/5
6 5/4/5
作为一种变通方法,我选择日期“ SELECT DISTINCT(e.creationDate)...”,然后为每个日期选择实体,但似乎没有限制? 所以我基本上必须选择整个表。
您可以重写类E
的equals()
方法,以在相等日期返回true。 并将其放置在适当的位置,将不受任何约束地从数据库中获取的所有实体放入Set
。 该集合将根据日期为您消除重复项(因为equals方法是以这种方式编写的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.