Я хочу обновить данные в таблице с помощью JPArepository «сохранить» как функцию добавления.добавить его работу, но обновить его не то же самое.
Ошибка
java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`timesheetdb`.`app`, CONSTRAINT `app_ibfk_1` FOREIGN KEY (`batch_id`) REFERENCES `batch` (`batch_id`))
Это мой код
App.java
@Entity
@Table(name = "app")
public class App {
@Id
@GeneratedValue
@Column(name="app_id" , nullable = true)
private int app_id;
@Column(name="app_no")
private String app_no;
@ManyToOne(fetch = FetchType.LAZY ,cascade = {CascadeType.PERSIST,CascadeType.MERGE} )
@JoinColumn(name="batch_id" , referencedColumnName = "batch_id",insertable=false, updatable=false)
private Batch batch = new Batch() ;
//get and set
Batch.java
@Entity
@Table(name = "batch")
public class Batch {
@Id
@GeneratedValue
@Column(name="batch_id" , unique = true, nullable = false ,insertable= false , updatable = false)
private int batch_id;
@Column(name="batch_name")
private String batch_name;
//get and set
журнал в спящем режиме
Hibernate: insert into batch (batch_name, batch_id) values (?, ?)
Hibernate: insert into app (app_id,app_no, batch_id) values (?, ?,?)
Проблема
1. Почему журнал необновить?
2. Иногда я проверяю, чтобы увидеть ошибку. Я увидел новое ограничение, например FKsbmff76rtfh40rncf2110t4pf, вместо ограничения app_id?
3. Проблемы в том, что я ошибаюсь при отображении «Много в один»?