나는 데이터베이스에 객체를 저장하고 있는데, 내가 보지 못하는 어리석은 실수를하고 있다고 생각합니다. 나는 마일 문제를 이해하는 몇 가지 코드를 무관 :MySQL 삽입 값
MyObject.java을 내가 tje 저장
@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);
함수 dtabase에 저장할 객체 느릅 나무 개체를 데이터베이스에 저장
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' 열과 다른 null이 아닌 제약 조건이없는'object' 테이블이 있습니까? 'id' 열의 유형은 무엇입니까? – Thomas
'id' 열은 무엇입니까? 그 레코드를 삽입하려고 mysql 콘솔 – Bozho
그것은 문자열. Check Object.java @Column (name = "id", unique = true, length = 50, nullable = false) –