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] 

ошибку.

ответ

0

Ошибка же ACC_ID равна нулю в Accommodation.By по умолчанию Длинные переменные имеют нулевые значения

@Column(name = "ACC_ID", unique = true, nullable = false) 
public Long getId() { 
    return id; 
} 
+0

Как я могу генерировать acc_id автоматически – maskapsiz

+0

Абсолютно смотреть на this.Declarative и прямо вперед .http: //javadigest.wordpress .com/2012/01/27/с использованием самой последовательности-генератор-в-спящий режим / –