hibernate 继承映射 多态查询 部分过滤查询 sql语句中clazz_ 序号问题

阅读更多
项目中使用到了继承映射,在直接对父类进行查询时hibernate会生成一个clazz_参数作为返回的class标识,问题是如果想要查询部分子类而不是全部查询时怎么屏蔽掉不需要的。
例如B,C,D继承自A ,可以发送from A a where a.class=? or a.class=?
将问号处设置一个int值,此值来自hibernate的Classmetadata
具体方法是
SessionFactory sf;
((UnionSubclassEntityPersister)sf.getClassMetadata(B.class)).getDiscriminatorSQLValue()可以获得类B对应的int值。

你可能感兴趣的:(Hibernate,clazz_,继承映射,过滤,多态查询)