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=?