【问题标题】:Spring Data JPA- Having two JPA entities that reference a database table that isnt an entitySpring Data JPA - 有两个 JPA 实体引用一个不是实体的数据库表
【发布时间】:2019-04-11 11:39:33
【问题描述】:

一个用例问题。 我们想用新的 JPA 实体的 X 和 Y 创建一个新的应用程序,我们希望能够在我们的 JPA 实体的一个 x 内创建对同一个数据库中已经存在的数据库表 z 的引用/关系。 我们不希望这个新应用程序能够管理表 z 中的数据(另一个应用程序会这样做),但实际上只是从中读取数据。 本质上,JPA 中的表 X 将具有由 Z 的主键映射的一对多关系中的 Z 对象集合

有人知道我们需要做些什么来实现它吗?

【问题讨论】:

  • ManyToOne中提供正确的映射,并使用z表作为连接表。
  • 您能详细说明一下吗?我不太明白
  • 使用@JoinTable 加入实体。您可能需要@ManyToMany 而不是多对一。所有这些都在 JPA 指南(或 hibernate)中解释了如何使用连接表映射实体。
  • 我还建议通过docs.oracle.com/cd/E19798-01/821-1841/bnbqi/index.html,它突出显示UnidirectionalBidirectional 关系。

标签: java hibernate jpa spring-data-jpa


【解决方案1】:

我的建议是创建一个对所有表具有 READ-WRITE 权限的新数据库用户,除了那些需要 READ-ONLY 权限的表。您将在数据源连接中使用这个新创建的用户,并保证您的应用程序不会执行不需要的修改。

为了形式上的正确性,您还应该将@Immutable 标记为只读实体

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2016-10-10
    • 2021-02-25
    相关资源
    最近更新 更多