Java Spring Boot Многие ко многим - PullRequest
1 голос
/ 28 апреля 2020

У меня есть 2 сущности, соединенные многими со многими. В шаблоне должно быть указано:

Владелец1 приют1 приют 2 Владелец1 приют 1

Как я могу соединить владельца и приют в контроллере, чтобы я мог прижать его к шаблону

Владелец 1 - его убежища

Владелец 2 - его убежища

Вся проблема в контроллере, что именно я должен передать шаблону двигатель? В этом вся проблема, заранее спасибо за ответы и потраченное время

    @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(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
        @JoinTable(name = "owner_shelter",  
                   inverseJoinColumns = { @JoinColumn(name = "shelter_id") })
        private List<Shelter> shelters = new ArrayList<>();

        public void addShelter(Shelter shelter) {
           shelters.add(shelter);
           shelter.getOwners().add(this);
        }

        public void removeShelter(Shelter shelter) {
          shelters.remove(shelter);
          shelter.getOwners().remove(this);
        }   
     }
        @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 = "shelters")
            private List<Owner> owners;

            public void addOwner(Owner owner) {
                owners.add(owner);
                owner.getShelters().add(this);
            }

            public void removeOwner(Owner owner) {
                owners.remove(owner);
                owner.getShelters().remove(this);
            }

        }

теперь я могу распечатать только список приюта или владельца

        @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";
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...