我有一個這樣的實體:休眠被忽略插入過程中列
@Entity
@Table(name = "PERSON_TB")
public class Person implements Serializable {
private static final long serialVersionUID = 32423423432434;
@Id
@Column(name = "ID")
private Long personId;
@Id
@Column(name = "VALUE")
private String value;
@Column(name = "NAME")
private String name;
@Transient
Address address;
//getters/setters
}
這是我的代碼來創建一個實體:
public Person createPerson(long id, String name, String value) {
Person p = new Person();
p.setId(id);
p.setName(name);
p.setValue(value);
return p;
}
在不同的方法:
personCrudSvc.create(createPerson(192L, "Joe", "xyz");
這是錯誤:
java.sql.SQLException: Attempt to insert null into a non-nullable column: column: VALUE
table: PERSON_TB in statement [insert into PERSON_TB (NAME, ID) values (?, ?)]
不知道這是否與此有關的bug:
我有這樣創建的其他兩個表,這些都很好。
顯然,我可以看到,Hibernate是爲了推錯了查詢數據庫。插入PERSON_TB(NAME,ID)的值(?,?) 應當插入PERSON_TB(NAME,ID,VALUE)的值(?,?,?) – Reddy