У меня есть 2 сущности, соединенные многими со многими. Шаблон должен содержать список:
владелец1
приют 1 приют 2
владелец1 приют 1
Но я не понимаю, как я могу ссылаться на таблицу ссылок, нужен ли мне третий владелец-укрытие Нужно ли создавать хранилище для таблицы соединений?
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@DynamicUpdate
@Entity
@Table(name = "owner")
public class Owner {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idOwner;
private String name;
private String address;
private String description;
@ManyToMany(cascade = {CascadeType.ALL})
@JoinTable(
name = "owner_shelter",
joinColumns = {@JoinColumn(name = "owner")},
inverseJoinColumns = {@JoinColumn(name = "shelter")}
)
private Set<Shelter> shelterOwner;
}
-
@Data
@DynamicUpdate
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "shelter")
public class Shelter {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private String address;
private String description;
@ManyToMany(mappedBy = "shelterOwner")
private Set<Owner> sheltersOwner;
}
пока что я могу вывести только список
@Autowired
ShelterRepository shelterRepository;
@Autowired
OwnerRepository ownerRepository;
@GetMapping("/shelters")
public String getPage(Authentication authentication, Model model) {
if (authentication != null) {
model.addAttribute("authentication", authentication);
}
List<Shelter> shelters = shelterRepository.findAll();
List<Owner> owners = ownerRepository.findAll();
model.addAttribute("shelters", shelters);
model.addAttribute("owners", owners);
return "shelterList";
}
}

bidirectionalзависимость -> надо добавить методы для заполнения данных (смотрите в моей ссылке разделManyToMany bidirectional) – Antonio112009 Apr 28 '20 at 13:51autoincrementили использовать кастомный autoincrement - https://ru.stackoverflow.com/q/994237/275232 – Antonio112009 Apr 28 '20 at 13:56