我正在将一个对象存储到我的数据库中,并且我认为我犯了一些我看不到的愚蠢错误。我武官一些代码来了解英里问题:Mysql插入值
MyObject.java对象至极我想在dtabase存储
@Entity
@Table(name = "my_object")
public class MyObject {
private String idName;
@Id
@Column(name = "id", unique = true, length = 50,nullable=false)
public String getIdName() {
return idName;
}
public void setIdName(String idName) {
this.idName = idName;
this.id = idName.hashCode();
}
TestToStoreObject.java
MyObject obj = new MyObject();
obj.setIdName("id");
//More set ...
save(obj);
功能存储TJE进入数据库的对象
protected void save(MyObject obj) throws DataAccessLayerException {
try{
getHibernateTemplate().save(obj);
} catch (HibernateException e) {
handleException(e);
}
}
这是一个与其他数据类型一起工作的通用函数。所以我猜这个问题在配置文件中。唯一的例外是:
org.springframework.dao.InvalidDataAccessResourceUsageException:
could not insert: [path.MyObject]; SQL [insert into object (id) values (?)];
nested exception is org.hibernate.exception.SQLGrammarException:
could not insert: [path.MyObject]
这里更多的配置文件:
HibernatePlatform.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="path.User" />
<mapping class="path.MyObject" />
.........
任何人可以帮助我这个??在此先感谢
你有一个表'对象'与列'ID'和没有其他非空约束吗?列'id'的类型是什么? – Thomas 2011-04-21 13:55:56
“id”列是什么?尝试通过mysql控制台插入该记录 – Bozho 2011-04-21 13:57:04
它是一个字符串。检查Object.java @Column(name =“id”,unique = true,length = 50,nullable = false) – 2011-04-21 14:05:20