欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-17 09:42:31
...
项目中使用到了继承映射,在直接对父类进行查询时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值。