spring中使用HibernateTemplate或HibernateDaoSupport報類型轉換錯誤
阿新 • • 發佈:2017-06-13
select use can ria sel pop size ack trac
實體類例如以下:
錯誤原因是:實體類中User類的id屬性是Integer類型的。可是傳遞的查詢條件id是String類型的。將string改成int類型,錯誤解決。
使用spring的HibernateDaoSupport的時候。報錯例如以下:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at org.hibernate.type.IntegerType.set(IntegerType.java:64) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)
實體類例如以下:
public class User { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
dao層的代碼例如以下:
public void select(String id) { List result = this.getHibernateTemplate().find("from User where id=?", new Object[] { id }); }
錯誤原因是:實體類中User類的id屬性是Integer類型的。可是傳遞的查詢條件id是String類型的。將string改成int類型,錯誤解決。
public void select(int id) { List result = this.getHibernateTemplate().find("from User where id=?", new Object[] { id }); }
spring中使用HibernateTemplate或HibernateDaoSupport報類型轉換錯誤