例如,我有Service
实体:
@OneToMany(fetch = FetchType.EAGER, mappedBy = "service")
public List<ServiceStatus> getServiceStatuses() {
return serviceStatuses;
}
和ServiceStatus
实体:
@ManyToOne
@JoinColumn(name = "service", nullable = false)
public Service getService() {
return service;
}
@Column(name = "date", nullable = false)
@Temporal(TemporalType.DATE)
public Date getDate() {
return date;
}
现在,我需要查询所有Service
对象,以便每个ServiceStatus
对象仅ServiceStatus.date
具有介于date1
和之间的那些对象date2
。也就是说,如果有10个ServiceStatus
具有正确日期的对象,则serviceStatuses
列表将仅包含那10个对象,仅此而已。可能吗?
提前致谢。
我使用@Filter解决了问题:
@FilterDef(name = "dateFilter", parameters = {
@ParamDef(name = "date1", type = "date"),
@ParamDef(name = "date2", type = "date") })
@Filter(name = "dateFilter", condition = "date >= :date1 and date <= :date2")
并将其应用于会话:
session.enableFilter("dateFilter")
.setParameter("date1", date1)
.setParameter("date2", date2);
顺便说一句,在使用Hibernate时,应该使用什么查询:它是自己的机制还是“原始” SQL(例如“内部联接”)?
我想使用联接表在两个表之间建立一对多关系。 这就是为什么我想使用联接表: Hibernate单向一对多关联-为什么连接表更好 最后,我想使用Hibernate注释来执行此操作。 我找到了一些使用xml映射实现这一点的示例,但没有使用注释。 我相信这将是如何创建表需要
问题内容: 我有如下表 如何通过下面的AND组合成一个IN语句来使用Restriction.in查询? 问题答案: 我认为这是您要使用的条件组合(顺便说一句,帮助Hibernate实体bean定义而不是表结构更容易):
问题内容: 我已经看到人们使用多对一映射来表示一对一关系。我也在加文·金(Gavin King)的书和文章中阅读了此内容。 例如,如果一个客户可以只有一个送货地址,而一个送货地址只能属于一个顾客,则映射为: 这本书的原因是(引用): “您不在乎关联目标方面的内容,因此您可以将其视为 一对一的 关联,而无需涉及 很多 部分。” 我的问题是,为什么不使用?什么使a成为不那么理想的选择? 谢谢。 问题答
我有一个班级评语: 保留comment类可以工作,但以下条件查询是有效的: 抛出org.hibernate.exception.DataException:未为参数%1指定值。 这是生成的查询: 选择this_.comment_id作为comment1_0_0_,this_.comment_id作为comment0_0_,commenttop2_.comment_id作为comment1_0_2_
我在
我有一个需要在多个地方使用的实体类。所以我创建了一个如下的泛型类 我还有另外两个类正在使用这个类 另一个使用输出的类