добавление каста к фильму

Технирческое задание
из сущности Character удалить связь с person, movie реализовать следующие ендпоинты:

  • POST /api/admin/movies/{id}/casts принимает CastRequestDto
  • GET /api/movies/{id}/casts?(optional)typeCharacter={String} возвращает CastResponseDtoCastResponseDto
  • DELETE /api/admin/casts/{id}
  • PUT /api/admin/movies/{id}/casts/{id} принимает CastRequestDto
 Long professionId;
 Long personId;
 CharacterRequestDto character;
}

CharacterRequestDto {
 Long id
 TypeCharacter type;
 String name;
 String description;
 Integer age
}

CastResponseDto {
 Long id;
 Strin professionName;
 String fullName;
 
 CharacterRequestDto character;
}

CharacterRequestDto {
 Long id;
 TypeCharacter typeCharacter;
 String name;
}

code:

@Entity
@Getter
@Setter
@Table(name = "character")
public class Character {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;

    //1
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "person_id")
    private Person person;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private int age;

    @Column(name = "description")
    private String description;

    //2
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "movie_id")
    private Movie movie;

    @Column(name = "type_character")
    @Enumerated(EnumType.STRING)
    private TypeCharacter typeCharacter;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
        Character character = (Character) o;
        return id != null && Objects.equals(id, character.id);
    }

    @Override
    public int hashCode() {
        return getClass().hashCode();
    }

Уже 7 дней не ломаю голову над этой задачей и нет идей её решить!!!


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