Это моя сущность:
@Entity(name = "order_info")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
// the user who create this order
@OneToOne
private User user;
// the product of this order
@OneToOne
@Basic(fetch = FetchType.LAZY)
private Product product;
// money
private Integer monkey;
I требование:
Пользователь + Продукт должен быть уникальным ключом, каждый пользователь может создать только один заказ для продукта.
Бу моя проблема:
@Autowired
private OrderCrudRepository repository;
@Test
public void save(){
User user = new User();
user.setId(2);
Product product = new Product();
product.setId(1);
Order order = new Order();
order.setMoney(33);
order.setProduct(product);
order.setUser(user);
repository.save(order);
System.out.println(JSONObject.toJSONString(order, true));
}
иногда я хочу обновить запись , если не сохранить запись. К сожалению, я не могу найти обновления в SpringDataJPA.
Я хочу заставить JPA обновить базу данных, если в базе данных уже есть запись, в которой есть значение пользователя и продукта.
Как я могу это сделать?