0
@Entity
@Table(name = "accommodation")
public class Accommodation {
public Accommodation(){
}
public Accommodation(String name, Boolean status, Def country, Def region, Def town, Def star){
this.name = name;
this.status = status;
this.country = country;
this.region = region;
this.town = town;
this.star = star;
}
private Long id;
private List<AccommodationCategory> accommodationCategoryList = new ArrayList<AccommodationCategory>();
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ACC_ID", unique = true, nullable = false)
public Long getId() {
return id;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "accommodation")
public List<AccommodationCategory> getAccommodationCategoryList() {
return accommodationCategoryList;
}
public void setAccommodationCategoryList(List<AccommodationCategory> accommodationCategoryList) {
this.accommodationCategoryList = accommodationCategoryList;
}
}
@Entity
@Table(name = "accommodation_category")
public class AccommodationCategory{
public AccommodationCategory(){}
public AccommodationCategory(String name, Boolean valid) {
this.name = name;
this.valid = valid;
}
private Long id;
private String name;
private Boolean valid;
private Accommodation accommodation;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ACC_CAT_ID", unique = true, nullable = false)
public Long getId() {
return id;
}
public Boolean getValid() {
return valid;
}
public void setValid(Boolean valid) {
this.valid = valid;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ACC_ID", nullable = false)
public Accommodation getAccommodation() {
return accommodation;
}
public void setAccommodation(Accommodation accommodation) {
this.accommodation = accommodation;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
住宿有很多AccommodationCategory,但是當我保存到數據庫,我得到Hibernate的一個一對多映射的完整性約束違約
Caused by: org.hsqldb.HsqlException: integrity constraint violation: NOT NULL check constraint; SYS_CT_10115 table: ACCOMMODATION_CATEGORY column: ACC_ID
at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.Table.enforceRowConstraints(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.Table.insertSingleRow(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.StatementDML.insertRowSet(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.StatementInsert.getResult(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.StatementDMQL.execute(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.Session.executeCompiledStatement(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.3.0.jar:2.3.0]
錯誤。
怎樣才能ACC_ID自動 – maskapsiz
絕對看this.Declarative和直截了當.http://javadigest.wordpress的.com/2012/1月27日/使用最序列發生器功能於休眠/ –