我在当前项目中使用 hibernate4 和 spring3.1。
我有两个具有一对多映射的表。我正在使用基于注释的映射。映射是这样完成的:
public class TableA {
@Id
private Long id;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "sample_id")
private Set<TableB> tableBList;
// setter getter
}
public class TableB{
@Id
private Long id;
private Long sample_id;
private Date added_date;
}
当我触发这样的查询时:
String hql = "FROM TableA WHERE id = 5";
return sessionFactory.getCurrentSession().createQuery(hql).list();
它将返回 TableB 中映射为 id = 5 的所有行。但我想再添加一个条件,例如added_date = XXXX
.
是否可以在查询中添加过滤器或通过任何其他方式在列 added_date 上添加过滤器?