java – SQLStateConverter.handledNonSpecificException hibernate

我在Hibernate中有以下实体:@Entitypublic class Contact implements Serializable {private static final long serialVersionUID = 1L;@Temporal(TemporalType.DATE)private Date birthday;}当我调用这种休眠方法...

我在Hibernate中有以下实体:

@Entity
public class Contact implements Serializable {
    private static final long serialVersionUID = 1L;
      @Temporal(TemporalType.DATE)
    private Date birthday;
}

当我调用这种休眠方法时:

public Object get(Class entityClass, Serializable id) throws HibernateException {
    return get( entityClass.getName(), id );
}

我得到以下异常:

org.hibernate.exception.GenericJDBCException: could not load an entity: [com.mycompany.model.Contact#3]
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
}

我试过这个简单的代码:

Statement st = conn.createStatement();
ResultSet res = st.executeQuery("select registration_date from contact where contact_id=3");
Date i = res.getDate(1);

这很好用.

问题是什么?

在这两种情况下,Date的类型都是java.util.Date.

EDITED

我调试了更多,并看到异常是:

Bad format for DATE '517' in column 2.

日期是:1985-05-17

解决方法:

非常愚蠢的问题.

Hibernate中的字段名称是生日,而db i是registration_date.

db中的生日是一个int字段..

本文标题为:java – SQLStateConverter.handledNonSpecificException hibernate

基础教程推荐