org.hibernate.util.JDBCExceptionReporter - '字段列表'中的未知列'postalCode'

时间:2011-12-05 23:01:41

标签: java hibernate hibernate-mapping

我正在使用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

我该如何纠正? 感谢

2 个答案:

答案 0 :(得分:1)

您似乎混淆了注释样式配置和XML样式配置。虽然这是可能的,但很少有意图。

我怀疑您的配置只是忽略了.hbm.xml文件,而是从带注释的类中获取配置。

尝试:

  1. 从您的班级中删除@Entity,或
  2. @Column(name="postal_code")添加到getPostalCode()方法。

答案 1 :(得分:0)

您可以看到是否从javax.persistence添加了@Column注释 有时它被错误地从其他库中导入