цитата При использовании JPA возникает проблема, которая сохраняется без правильного внешнего ключа. цитата (весна - JPA 사용시 올바른 внешний ключ 없이도 저장 이 되는 문제 가 발생)
Связь (соединение) была создана с помощью JPA. prodDetail.prodNo имеет Prod.no в качестве внешнего ключа.
// hibernate
изменить таблицу prod_detail добавить ограничение FKemc8ttnx3c8rl0d3u9s7xr964 ссылки на внешний ключ (нет) prod (нет)
Я думал, что объект ProdDetail с внешним ключом-col без сохраненного Prod.no не будет сохранен (= insert), но он сохранен. Вы можете сделать наоборот. Почему?
, поэтому я пробую это на mysql workbanch.
ОШИБКА 1452: 1452: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено Произошла ОШИБКА
Почему в JPA нет ошибок?
вот мои коды
, пожалуйста, помогите мне. (если вы кореец? пожалуйста, поговорите со мной в KOR) спасибо ~
@Entity
public class Prod {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "no")
private Long no;
private String name;
private String thumbnailUrl;
private Long originPrice;
private Long discPrice;
private String description;
private LocalDateTime createdAt;
@Transient
private boolean inBasket;
}
-----------------------------------------------------
@Entity
public class ProdDetail {
@Id
@GeneratedValue
private Long id;
private String content;
private String imageUrl;
private LocalDateTime createdAt;
@PrePersist
public void createdAt() {
this.createdAt = LocalDateTime.now();
}
@ManyToOne
@JoinColumn(name="prod_no" )
private Prod prod;
-----------------------------------------------------
// jUnit test
@Test
public void insertTodetailTest() {
ProdDetail pd = new ProdDetail();
pd.setContent("test product 1");
pd.setImageUrl("test Product url");
detailRepo.save(pd);
System.out.println("ok");
}