[英]Hibernate deleting entries in database
我有 spring 启动应用程序并使用 JPA。 我尝试使用人员购物车中的产品列表保存订单,它正在工作,但是当我这样做时,Hibernate 从表 cart_product 删除条目。
我有这个实体:
@Entity
@Table(name = "person")
public class Person implements Authority {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "email")
@Email
@NotEmpty
private String email;
@Column(name = "name")
@NotEmpty
@Size(max = 30, min = 3)
private String name;
@Column(name = "lastname")
@NotEmpty
@Size(max = 30, min = 3, message = "Короткая фамилия")
private String lastName;
@Column(name = "patronymic")
private String patronymic;
@Column(name = "address")
@Size(min = 10, max = 200)
private String address;
@Column(name = "password")
private String password;
@Column(name = "role")
private String role;
@OneToMany(mappedBy = "person", fetch = FetchType.EAGER)
@Cascade(org.hibernate.annotations.CascadeType.DELETE)
private List<Order> ordersList;
@OneToOne(mappedBy = "person")
@Cascade(org.hibernate.annotations.CascadeType.DELETE)
private Bill bill;
@OneToOne(mappedBy = "person")
@Cascade(org.hibernate.annotations.CascadeType.DELETE)
private Cart cart;
@Entity
@Table(name = "product")
public class Product {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@NotNull
private int article;
@NotEmpty
@Size(min = 3, max = 30)
private String name;
@NotEmpty
@Size(min = 10, max = 1000)
private String description;
@NotNull
@Min(1)
private double price;
@ManyToOne
@JoinColumn(name = "market_id", referencedColumnName = "id")
private Market market;
@ManyToMany(mappedBy = "products")
private List<Cart> carts;
@ManyToMany(mappedBy = "orderProducts")
private List<Order> orders;
@Entity
@Table(name = "Cart")
public class Cart {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "cart_id")
private int id;
@OneToOne
@JoinColumn(name = "person_id", referencedColumnName = "id")
private Person person;
@ManyToMany
@JoinTable(name = "cart_product",
joinColumns = @JoinColumn(name = "cart_id"),
inverseJoinColumns = @JoinColumn(name = "product_id"))
private List<Product> products;
当我尝试使用 Person's Cart 中的 productsList 保存我的 Order 实体时,Hibernate 从 cart_product 表中删除条目。
Order order = new Order();
List<Product> productList = person.getCart().getProducts();
order.setOrderProducts(productList);
order.setPerson(person);
order.setDate(new Date());
orderRepo.save(order);
Hibernate: insert into orders (created_at, person_id) values (?, ?)
Hibernate: delete from cart_product where cart_id=?
Hibernate: insert into orders_product (order_id, product_id) values (?, ?)
有谁能够帮我?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.