Java 当额外延迟时,Hibernate@Where注释将不应用于集合计数查询
我有一张地图Java 当额外延迟时,Hibernate@Where注释将不应用于集合计数查询,java,hibernate,orm,hibernate-mapping,Java,Hibernate,Orm,Hibernate Mapping,我有一张地图 @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @LazyCollection(LazyCollectionOption.EXTRA) @OneToMany(mappedBy = "user") @Where(clause = "is_del = 0") private List<MyEntity> activities = Lists.newArrayList(); 由于额外的延迟,对act
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@LazyCollection(LazyCollectionOption.EXTRA)
@OneToMany(mappedBy = "user")
@Where(clause = "is_del = 0")
private List<MyEntity> activities = Lists.newArrayList();
由于额外的延迟,对activities.size()
的访问将只发送第一个查询,@Where
条件已被忽略
这是一个bug还是我的用法错了
Hibernate:
select
count(id)
from
activity_info
where
user_id =?
Hibernate:
select
...
from
activity_info activities0_
inner join
addr_info addrinfoen1_
on activities0_.addr_info_id=addrinfoen1_.id
where
(
activities0_.is_del = 0
)
and activities0_.user_id=?