Проверка на уникальность полей JSON

Есть строка вида:

{
"truckType": "type",
"activity":"activity",
"truckNumber":"number",
"boxes":[
 {
"number":"123",
"content":"box"
  },
  {
"number":"124",
"content":"box"
  } 
 ]
}

Класс "boxes":

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;
    //Getter and Setters

    @Fetch(value = FetchMode.SUBSELECT)
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "cargo_inboundtrucks",
            joinColumns = @JoinColumn(name = "cargo_id", referencedColumnName = "id"),
            inverseJoinColumns = @JoinColumn(name = "inboundtruck_id", referencedColumnName = "id"))
    private Set<Inboundtruck> inboundtrucks;

Класс InboundTruck:

 //ID, Getters and Setters

     
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "cargo_inboundtrucks",
            joinColumns = @JoinColumn(name = "inboundtruck_id", referencedColumnName = "id"),
            inverseJoinColumns = @JoinColumn(name = "cargo_id", referencedColumnName = "id"))
    private Set<Cargo> cargos;

Так же имеется класс по парсу JSON и сохранению объекта:

     Inboundtruck inboundtruck = gson.fromJson(json, Inboundtruck.class);
     inboundtruckService.save(inboundtruck);

Использую библиотеку GSON

Вопрос, как сделать проверку на уникальность полей в массиве "boxes", что б поиске и нахождение в БД повторяющихся "number" сущность не сохранялась?


Ответы (0 шт):