关系表大小的Java SQL过滤器

时间:2019-06-26 23:28:57

标签: java sql hibernate

我正在尝试选择一对多关系大于零的行。

即在SQL中

query = sessionFactory.getCurrentSession().createQuery(
        "FROM UserSessionReport usr WHERE usr.userId = :userId 
         AND usr.userTracking.size > 0 ORDER BY created DESC");

和Hibernate表联接

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "user_session_id", updatable = false)
@LazyCollection(LazyCollectionOption.FALSE)
private List<UserTracking> userTracking = new ArrayList<UserTracking>();

这使查询非常慢,即加载需要30秒。

还有另一种方法可以对其进行优化,使其仅返回usr.userTracking.size > 0

处的行。

0 个答案:

没有答案