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