我正在使用hibernate。当我尝试将值插入我的数据库时,我收到错误。
这是堆栈跟踪
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'postalCode' in 'field list'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
以下是我的Pojo课程概述
@Entity
public class HeadOffice implements java.io.Serializable
{
private Long officeId;
private String name;
private String addr1;
private String addr2;
private String postalCode;
private String country;
private String email;
private String tel1;
private String tel2;
public HeadOffice() { }
public String getPostalCode()
{
return this.postalCode;
}
public void setPostalCode(String postalCode)
{
this.postalCode = postalCode;
}
}
这是hbm.xml文件中邮政编码属性的相应条目
<property name="postalCode" type="string">
<column name="postal_code" length="24" not-null="true" />
</property>
在SQL查询例外情况下,字段名称被视为postalCode而不是postal_code
我该如何纠正? 感谢
答案 0 :(得分:1)
您似乎混淆了注释样式配置和XML样式配置。虽然这是可能的,但很少有意图。
我怀疑您的配置只是忽略了.hbm.xml
文件,而是从带注释的类中获取配置。
尝试:
@Entity
,或@Column(name="postal_code")
添加到getPostalCode()
方法。答案 1 :(得分:0)
您可以看到是否从javax.persistence添加了@Column注释 有时它被错误地从其他库中导入