Проверка на уникальность полей 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" сущность не сохранялась?