gpt4 book ai didi

mysql - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'CONTACTID' in 'field list'

转载 作者:可可西里 更新时间:2023-11-01 07:08:10 25 4
gpt4 key购买 nike

我使用 EclipseLink 从 MySQL 生成我的所有对象,我有一个名为 CONTACT_ID 的字段。当我尝试 em.persist(contact) 时,我收到一条错误消息“Unknown column 'CONTACTID'”。
我搜索了我的项目和数据库,没有任何名为 CONTACTID 的列。 JPA 以某种方式删除了此列名称中的“_”。我确定这真的很愚蠢,我只是找不到原因。

这是我的数据库设计: enter image description here

用户.java:

@EmbeddedId
private UserPK id;

private int score;

//bi-directional many-to-one association to CmnContact
@ManyToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn (name="CONTACT_ID")
private CmnContact cmnContact;

//bi-directional many-to-one association to Login
@ManyToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn (name="LOGIN_ID")
private Login login;

CmnContact.java:

@Id
@JoinColumn(name="CONTACT_ID")
private String contactId;
//bi-directional many-to-one association to User
@OneToMany(mappedBy="cmnContact")
private List<User> users;

用户PK.java:

@Column(name="USER_ID")
private UUID userId;

@Column(name="CONTACT_ID", insertable=false, updatable=false)
private UUID contactId;

@Column(name="LOGIN_ID", insertable=false, updatable=false)
private UUID loginId;

最佳答案

这通常发生在您具有混合访问类型时 - 在属性上有一些注释,在字段上有一些注释。除非您覆盖访问类型,否则提供者将根据它首先找到的注释为实体选择访问类型,因此将忽略其他类型。给出了访问类型的一个很好的解释 here

确保所有注释在整个模型中都是一致的。

关于mysql - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'CONTACTID' in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23947197/

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