我得到了OneToMany映射
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@LazyCollection(LazyCollectionOption.EXTRA)
@OneToMany(mappedBy = "user")
@Where(clause = "is_del = 0")
private List<MyEntity> activities = Lists.newArrayList();
访问此字段将发送以下SQLs
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=?
由于EXTRA懒惰,访问activities.size()
只会发送第一个查询,@Where
条件已被忽略。
这是一个错误还是我错了这个用法?