gpt4 book ai didi

java - 在 hibernate 中合并具有复合主键的实体时出现异常

转载 作者:太空宇宙 更新时间:2023-11-04 13:52:25 26 4
gpt4 key购买 nike

我正在使用如下复合主键,

    @Entity
public class Mentor implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private MentorPK id;
private String email;

public MentorPK getId() {
return id;
}
//getters and setters
}

@Embeddable
public class MentorPK implements Serializable {

private static final long serialVersionUID = 1L;
private String name;
private String add;
//getters and setters
//override equals and hashcode
}

我在执行entityManager.merge(mentor)时遇到异常

org.hibernate.exception.SQLGrammarException: ORA-01747: invalid user.table.column, table.column, or column specification

我在这里缺少什么?

最佳答案

看看 description for the error :

You tried to reference a column name, but the column name used is a reserved word in Oracle.

用作名称的内容是 Oracle 中的保留字。在本例中,它似乎是属性名称 add。将其映射到不同的列名称。

要在无法轻松识别保留字的情况下识别有问题的属性,请激活 sql 日志记录,以便您可以看到有问题的 sql 语句。

逐一删除列,直到错误消失。

将该属性重命名为不与 Oracle 保留字冲突的名称

这是a list of reserved words :

关于java - 在 hibernate 中合并具有复合主键的实体时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30160232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com