0
我有一个表中的抽象基类,抽象类不把所有的列使用criteriabuilder构建类型安全的选择与治疗
@Entity
@Table(name = "MYTABLE")
public abstract class MyTable {
//...
}
通常我从它的派生类所需的列数据使用treat
在criteriabuilder
@Entity
public class MyClassA extends MyTable {
//...
}
@Entity
public class MyClassB extends MyTable {
//...
}
Root<MyTable> myTable = cq.from(MyTable.class);
cq.where(cb.or(
cb.equal(cb.treat(myTable, MyClassA.class).get(MyClassA_.infoA), "A"),
cb.equal(cb.treat(myTable, MyClassB.class).get(MyClassB_.infoB), "B")
))
这里INFOA和infoB都是在数据库中MYTABLE同一列。
我的问题是你如何写一个类型安全的选择来选择单个选择中的infoA和infoB?
谢谢。我也不知道原因,那不是我的代码。但让我说我必须使用这段代码,我怎样才能在结果中选择infoA和infoB作为单个列? – user1589188