を選択するようにcriteriabuilderを使用して、抽象クラスは、通常、私が使用してその派生クラスから必要な列のデータを取得私はテーブルの基本抽象クラスを持って安全なタイプを構築御馳走
@Entity
@Table(name = "MYTABLE")
public abstract class MyTable {
//...
}
すべての列を保持しません。 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")
))
でtreat
は、infoAとinfoB両方は、データベース内のMYTABLEに同じ列です。
私の質問は、一度の選択でinfoAとinfoBの両方を選択するための型セーフセレクトをどのように記述しますか?
ありがとうございました。私は理由も知らない、それは私のコードではない。しかし、私はこのコードを使って作業しなければならないとしましょう。結果では、infoAとinfoBの両方を単一の列として選択するにはどうすればいいですか? – user1589188