次の 3 つのテーブルがあるとします。
CREATE TABLE "C" (
id bigint NOT NULL,
cc integer,
CONSTRAINT "C_ID" PRIMARY KEY (id)
);
ALTER TABLE "C" OWNER TO ***;
CREATE TABLE "B" (
id bigint NOT NULL,
c_id bigint references "C"(id),
bb integer,
CONSTRAINT "B_ID" PRIMARY KEY (id)
);
ALTER TABLE "B" OWNER TO ***;
CREATE TABLE "A" (
id bigint NOT NULL,
c_id bigint references "C"(id),
aa integer,
CONSTRAINT "A_ID" PRIMARY KEY (id)
);
ALTER TABLE "A" OWNER TO ***;
そして、テーブル B の行と共通の外部キー (c_id) を持つテーブル A から行を選択する必要がありますが、次の SQL クエリがあります。
SELECT "A".aa AS "AA", "B".bb AS "BB", "C".id AS "C_ID"
FROM "A"
INNER JOIN "C" on "C".id = "A".c_id
INNER JOIN "B" on "C".id = "B".c_id;
Javaで
@Entity
class A {
...
@ManyToOne
C cObj;
...
}
@Entity
class B {
..
@ManyToOne
C cObj;
..
}
@Entity
class C {
..
}
質問: 同等の Criteria API クエリを作成するにはどうすればよいですか? ありがとう。