1

我有一个带有主表(A)的ERD,它有一个属性(字符串),它是另一个表(B)的FK。

我遇到的问题是,在 B 中唯一的属性是 PK;我只想确保用户在主表属性中只输入一个允许的值。我什至不想从应用程序更新 B 表,因为这将是一项非常不寻常的任务,我将直接在数据库中完成。

我可以将 B 视为另一个实体并使用“常规”JPA 处理它们,但我有点担心也许有更有效的方法来做到这一点*。我想从 B 表中获取完整的值列表并确保属性值正确。

所以问题是:JPA 中有一个特定的模式来处理那些主表吗?

提前致谢。

*:我关心的是创建/检索实体 B 对象时,它只需要一个字符串,每次创建实体 A 对象时都会检索。

4

1 回答 1

1

我将简单地使用本机查询从B表中获取所有字符串,或者将 B 映射为实体以使用 JPQL 查询检索所有 B 字符串,但没有从 A 到 B 的任何关联。

B 字符串将作为基本 String 列存储在 entity 中A。如果您尝试A使用不在B表中的字符串创建或更新实例,那么您将在刷新或提交时收到异常,因为外键约束被破坏。

于 2012-05-11T11:12:21.973 回答