gpt4 book ai didi

java - OnetoOne 关系案例中的唯一行。如何防止重复?

转载 作者:行者123 更新时间:2023-12-02 01:45:04 25 4
gpt4 key购买 nike

我对代码有疑问。我希望这些行是唯一的。对于飞行,我只使用 @UniqueConstraint 注释,效果很好。

但是,就酒店而言,他向我的数据库写入了一个副本。

我怀疑这是因为表是通过一对一关系连接的。

我保证你必须在飞行舱位中写它,而不是在酒店中。

@Entity
@Component
@Table(name = "Flight", uniqueConstraints = @UniqueConstraint(columnNames = {"departure","currency","destination","price","flightnumber","airline","departuretime","returntime","expiresAt","userName","airlineIata" }))
public class Flight {

private Long id;

private String departure;

private String currency;

private String destination;

...等

@Entity
@Component
@Table(name = "Hotel", uniqueConstraints = @UniqueConstraint(columnNames = {"site","rating","phone","name","longitude","latitude","image3","image2","image","hotelLink","describe","currency","category","address","price" }))

public class Hotel {

private Long id;
private String name;
private String currency;
private String site;
private BigDecimal price;
private String address;
private Double rating;
private String image;
private String image2;
private String image3;
private String hotelLink;
private String phone;
private String describe;
private String latitude;
private String longitude;
private String category;

setter/getter ...和 setter/getter ...

some code....

hotel.setPrice(hotelCurrencyService.amountCalculator(array.getVendor3Price(), exchangeRate));

flight.setDeparture(flightDTO.getDeparture()); 一些代码......

 flight.setHotel(hotel);
flightRepository.save(flight);

最佳答案

这家酒店以前保存过吗?或者保存方法保留两个实体(航类和酒店)?在我的项目中,我会尝试从数据库获取对象,然后,如果该对象已经存在,我会实现更新或中止规则。

关于java - OnetoOne 关系案例中的唯一行。如何防止重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57464658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com