- 我在没有明显主键(复合或其他)的 SQL 数据库中有 View
- 我想通过 JPA 访问它们
我读到我应该能够像对待表格一样对待 JPA 中的 View (使用 @Table 注释等)。但是,如果没有主键,我必须有效地从每一列中创建一个复合键(事实上,这在 Hibernate 的逆向工程工具默认情况下似乎是这样做的)。
但是,如果我这样做,会产生不良的副作用。 例如
必须编写指向主键属性而不是 View 的所有代码:
myViewObject.getPrimaryKey().getFirstName()
无法在 spring 存储库上使用“findBy...”方法(因为该属性是 View “标识符”的一部分,而不是它的实际属性之一)。
<
我的问题是:如何映射 View ,以便我可以使用 JPA 轻松访问它们的属性?
注意:得知我使用的方法完全错误,我感到非常高兴。这似乎是一个常见的问题,肯定会有更好的解决方案。
最佳答案
您可以将UUID
列添加到 View 的每一行,这样您就可以将UUID 列用作@Id
。 .
关于java - 使用 JPA 时如何在没有主键的情况下映射数据库 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31292050/