我有一个可以扩展的通用类和可以扩展的通用子成员。我试图让 SpecialGroupMember 中的组引用成为 SpecialGroup 而不是“Group”,主要是因为在 Hibernate HQL 中我想根据 SpecialGroup 的特殊属性选择 SpecialGroupMembers。在下面的配置中,Hibernate 会在下面的查询中抛出错误
from SpecialGroupMember sgm inner join sgm.group grp where grp.special = true;
public class Group<T extends GroupMember>{
private List<T> members;
}
public class SpecialGroup extends Group<SpecialMember>{
private boolean special;
}
public class GroupMember{
private Group<? extends GroupMember> group;
}
public class SpecialGroupMember extends GroupMember{
private boolean something;
}
任何建议如何以有意义的方式进行设置?