0

我有一种情况,我在数据库中定义了一个连接表,但不是连接中引用的两个表。例如:

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

Course
------
courseID
title
description

通常(使用适当的规范化)你也会有一个 Student 表,Student_Course 表将加入 Course 和 Student:

Student
-------
studentID

JPA 中是否有一种方法可以通过注释(或其他方式)将唯一的学生 ID 从 Student_Course 表中提取出来并创建一个 Student 实体类,但也可以使用 Student_Course 作为连接表?在 SQL 中,我只使用 SELECT DISTINCT 语句。我无法控制数据库和设计,所以我坚持这一点。

通常,我会在 Student 和 Course 类中使用 @JoinTable 来引用 Student_Course 表。

谢谢!

4

1 回答 1

0

最简单的解决方案是从您选择的不同 sql 查询中创建一个数据库视图,并将该视图映射到一个 jpa 实体。

一个缺点是可能无法从 JPA 创建 Student 实体(我知道一些数据库支持在视图中插入数据,但我从未使用过此功能)

于 2013-05-31T13:08:42.503 回答