如何创建一个在一列中搜索任何值 = true 的休眠投影
how to create a hibernate projection that searches one column for any value = true
我有一个像这样的休眠实体类型
@Entity
@Table(name = "type")
public class Type {
@Column(name = "enabled")
private boolean enabled = false;
}
并且我想创建一个 returns 如果类型 table 中的任何行已启用 = true 的函数。我想通过使用投影或标准尽可能高效,但我不知道从哪里开始
也许最有效的方法是搜索具有 enabled = true
的第一行,并检查它是否存在。
Criteria crit = session.createCriteria(Type.class);
crit.setProjection(Projections.id());
crit.add(Restrictions.eq("enabled", true));
crit.setMaxResults(1);
boolean anyIsEnabled = crit.uniqueResult() != null;
查询应该 return 结果 when/if 它遇到第一个结果 enabled = true
,所以它不必像解决方案那样遍历整个 table例如,使用 count
,则必须。
我有一个像这样的休眠实体类型
@Entity
@Table(name = "type")
public class Type {
@Column(name = "enabled")
private boolean enabled = false;
}
并且我想创建一个 returns 如果类型 table 中的任何行已启用 = true 的函数。我想通过使用投影或标准尽可能高效,但我不知道从哪里开始
也许最有效的方法是搜索具有 enabled = true
的第一行,并检查它是否存在。
Criteria crit = session.createCriteria(Type.class);
crit.setProjection(Projections.id());
crit.add(Restrictions.eq("enabled", true));
crit.setMaxResults(1);
boolean anyIsEnabled = crit.uniqueResult() != null;
查询应该 return 结果 when/if 它遇到第一个结果 enabled = true
,所以它不必像解决方案那样遍历整个 table例如,使用 count
,则必须。