@Entity public class People { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String human; // @ManyToOne(cascade = CascadeType.ALL) private RockGroups rockGroups; // @ManyToMany(mappedBy = "songInstrumentalist",fetch = FetchType.EAGER) private List<SongPlayers> songItems; public People(){} public People(long id, String human){ this.id = id; this.human = human; } //. . . . . . . . . }
@Entity public class SongPlayers { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String song; // private String composer; // private String poet; // private String album; // // @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) private List<People> songInstrumentalist; //. . . . . . . . . }
@Repository public interface PeopleRepository extends JpaRepository<People, Long> { @Query("select h from People h where h.human=?1") List<People> searchByHuman(String human); List<People> findPeopleByHuman(String human); }
@Repository public interface SongPlayersRepository extends JpaRepository<SongPlayers, Long> { List<SongPlayers> findSongPlayersBySong(String song); List<SongPlayers> findSongPlayersByComposer(String composer); List<SongPlayers> findSongPlayersByPoet(String poet); }
public class PeopleDTO { private long id; private String human; private RockGroups rockGroups; private List<SongPlayersDTO> songPlayersList; public List<PeopleDTO> getPeopleDTOList(List<People> peopleList){ List<PeopleDTO> peopleDTOList = new ArrayList<>(); for (People people : peopleList){ songPlayersList = new ArrayList<>(); PeopleDTO peopleDTO = new PeopleDTO(); peopleDTO.setId(people.getId()); peopleDTO.setHuman(people.getHuman()); peopleDTO.setRockGroups(people.getRockGroups()); for (SongPlayers songPlayers : people.getSongItems()){ SongPlayersDTO songPlayersDTO = new SongPlayersDTO(); songPlayersDTO.setId(songPlayers.getId()); songPlayersDTO.setSong(songPlayers.getSong()); songPlayersDTO.setPoet(songPlayers.getPoet()); songPlayersDTO.setComposer(songPlayers.getComposer()); songPlayersDTO.setAlbum(songPlayers.getAlbum()); songPlayersList.add(songPlayersDTO); } peopleDTO.setSongPlayersList(songPlayersList); peopleDTOList.add(peopleDTO); } return peopleDTOList; } //. . . . . . . . . }
@RestController @RequestMapping("/people") public class PeopleController { @Autowired private PeopleRepository repository; @GetMapping("/all") public List<PeopleDTO> getAllPeople(){ PeopleDTO peopleDTO = new PeopleDTO(); return peopleDTO.getPeopleDTOList(repository.findAll()); } //. . . . . . . }
classes in the Spring project | classes in Spring Boot |
---|---|
![]() | ![]() |
Source: https://habr.com/ru/post/432318/
All Articles