0

データベースに結合テーブルが定義されていますが、結合で参照されている両方の単一テーブルはありません。例えば:

Student_Course
--------------
studentID
courseID

Course
------
courseID
title
description

通常、(適切な正規化を使用して) Student テーブルもあり、Student_Course テーブルは Course と Student を結合します。

Student
-------
studentID

Student_Course テーブルから一意の学生 ID を引き出して Student_Course のエンティティ クラスを作成するだけでなく、Student_Course を結合テーブルとして使用するためのアノテーション (またはその他の方法) を使用した JPA の方法はありますか? SQL では、SELECT DISTINCT ステートメントを使用します。私はデータベースとデザインを制御できないので、これで立ち往生しています。

通常、Student クラスと Course クラスで @JoinTable を使用して、Student_Course テーブルを参照します。

ありがとう!

4

1 に答える 1

0

最も簡単な解決策は、選択した個別の sql クエリからデータベース ビューを作成し、このビューを jpa エンティティにマップすることです。

欠点は、JPA から Student エンティティを作成できない可能性があることです (ビューにデータを挿入するデータベースのサポートは知っていますが、この機能を使用したことはありません)。

于 2013-05-31T13:08:42.503 に答える