【问题标题】:How to create a JPA entity for a table that doesn't have a Primary Key or Unique Key column如何为没有主键或唯一键列的表创建 JPA 实体
【发布时间】:2021-12-04 09:29:39
【问题描述】:

我有一个没有主键或唯一键列的表。我需要使用 JPA 和 Hibernate 从 Spring 应用程序中操作此表。

当我尝试映射此表的实体时,它失败了,因为没有 @Id 映射。

我试图从所有实体属性中创建一个复合 id 以确保唯一性,但在这种情况下,实体返回了一个不可变对象。

我需要操纵这个实体的一些变量。我该怎么办?通过添加一个独特的列来改变表格会给我带来新的挑战。有没有不改表的方法?

【问题讨论】:

    标签: java hibernate jpa spring-data-jpa entity


    【解决方案1】:

    假设您想使用 SQL 更改这些记录。如果您没有唯一的列,您如何知道要更新或删除哪一行?

    除非您创建一个独特的列,否则您无能为力。

    【讨论】:

      【解决方案2】:

      应该有一种独特的方式来识别您的记录。有时,您有多个列。在这种情况下,您使用组合主键。在 JPA 中,您可以通过两种方式实现组合主键:@EmbeddedId 或@IdClass。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多