如何根据属性值过滤数据?

时间:2015-09-28 22:06:30

标签: hibernate spring-mvc

假设我有表格调查和表格附件相关的表格。 每当我收到调查数据时,我都会使用:

SequenceEqual

这将使调查数据和与之相关的所有附件成为对象列表,这很好,但我想要的是获取调查数据,但只获取我上传的附件。 (附件实体有一个added_by字段)。

我听说过hibernate有一些称为过滤器的东西,但我不确定如何使用基于注释的配置来实现它们。

1 个答案:

答案 0 :(得分:2)

你基本上是Hibernate中的Criteria Queries:

Hibernate Criteria Queries

基本上这意味着您使用Criterion进行查询(简明英语中的标准)并且它会调用相关查询。

e.g。

String user = "John";

List surveys = sess.createCriteria(Survey.class)
    .add( Restrictions.like("id", id) )
    .add( Restrictions.like("attachment.added_by", user) )  //where user is a string variable
    .list();

这将返回所有包含任何包含文字" John"的用户创建的附件的调查。