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值。
例如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值。
上一篇: 鸡蛋怎么吃有营养,教你如何正确吃鸡蛋
下一篇: 治疗胃下垂:锻炼+饮食