【问题标题】:Unique index or primary key violation while trying to map Map<Integer,String> in hibernate尝试在休眠中映射 Map<Integer,String> 时唯一索引或主键冲突
【发布时间】:2016-10-09 11:40:53
【问题描述】:

我正在使用 H2 嵌入式数据库和 Hibernate 5。我正在尝试以这种方式在休眠中映射 HashMap:

@Entity
public class TestMapping
{
    @Id
    @GeneratedValue
    private Long id;


    @ElementCollection
    private Map<Integer,String> map = new HashMap<>();


}

然后我坚持 TestMapping 对象包含几个键值对。当我试图通过执行以下操作在 Intellij 中查看结果时:

SELECT t.* FROM PUBLIC.TESTMAPPING t LIMIT 501

我收到此错误:

[23505][23505] Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement: ALTER TABLE PUBLIC.TESTMAPPING_MAP ADD CONSTRAINT PUBLIC.FK8CYRSMJWNRD21DCB8T901RHA0 FOREIGN KEY(TESTMAPPING_ID) REFERENCES PUBLIC.TESTMAPPING(ID) NOCHECK [23505-176]

我尝试添加 @MapKeyColumn 没有任何效果。

mydb.trace.db 包含:

10-09 13:38:28 database: ALTER TABLE PUBLIC.TESTMAPPING_IMAGES ADD CONSTRAINT PUBLIC.FK9V996C496B8GCB45MJI7WDA0D FOREIGN KEY(TESTMAPPING_ID) REFERENCES PUBLIC.TESTMAPPING(ID) NOCHECK org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement: ALTER TABLE PUBLIC.TESTMAPPING_IMAGES ADD CONSTRAINT PUBLIC.FK9V996C496B8GCB45MJI7WDA0D FOREIGN KEY(TESTMAPPING_ID) REFERENCES PUBLIC.TESTMAPPING(ID) NOCHECK [23505-176] 10-09 13:38:29 database: ALTER TABLE PUBLIC.TESTMAPPING_IMAGES ADD CONSTRAINT PUBLIC.FK9V996C496B8GCB45MJI7WDA0D FOREIGN KEY(TESTMAPPING_ID) REFERENCES PUBLIC.TESTMAPPING(ID) NOCHECK org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement: ALTER TABLE PUBLIC.TESTMAPPING_IMAGES ADD CONSTRAINT PUBLIC.FK9V996C496B8GCB45MJI7WDA0D FOREIGN KEY(TESTMAPPING_ID) REFERENCES PUBLIC.TESTMAPPING(ID) NOCHECK [23505-176]

【问题讨论】:

    标签: java hibernate h2


    【解决方案1】:

    在 1.3.176 版本的 h2 控制台中似乎存在错误。 正如 here 建议的那样,升级到较新的 h2 版本可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-09-10
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多