Relacionamento entre tabelas está me retornando null

Essa está sendo minha inserção:

{
“title”: “A Revolução dos Bichos”,
“isbn”: “9780451526342”,
“yearPublication”: 1945,
“cover”: “https://carrefourbr.vtexassets.com/arquivos/ids/14566021/Kit-1984---A-Revolucao-dos-Bichos-George-Orwell-Capa-Comum.jpg?v=637510501552670000”,
“description”: “A Revolução dos Bichos é um livro escrito por George Orwell, publicado pela primeira vez em 1945. Situado em uma fazenda, o romance utiliza animais antropomorfizados para retratar uma crítica ao totalitarismo e ao abuso de poder.”,
“pages”: 150,
“author”: {
“name”: “George Orwell”
},
“publishingCompany”: {
“name”: “Editora Globo”
},
“gender”: {
“name”: “Ficção”
}
}

E aqui está sendo meu retorno:

{
“id”: 452,
“title”: “A Revolução dos Bichos”,
“author”: null,
“isbn”: “9780451526342”,
“yearPublication”: 1945,
“publishingCompany”: null,
“cover”: “https://carrefourbr.vtexassets.com/arquivos/ids/14566021/Kit-1984---A-Revolucao-dos-Bichos-George-Orwell-Capa-Comum.jpg?v=637510501552670000”,
“gender”: null,
“description”: “A Revolução dos Bichos é um livro escrito por George Orwell, publicado pela primeira vez em 1945. Situado em uma fazenda, o romance utiliza animais antropomorfizados para retratar uma crítica ao totalitarismo e ao abuso de poder.”,
“pages”: 150
}

Eu queria entender por que Autor, gênero e Editora estão vindo como nulos, segue também meu controller, DTOs e Models:

Controller:

public class BooksController {
  @Autowired
  BooksRepository booksRepository;
  @PostMapping("/api/v1/books")
  public ResponseEntity<BooksModels> saveBooks(
          @RequestBody @Valid BooksRecordDTO booksRecordDTO) {

    var booksModels = new BooksModels();
    BeanUtils.copyProperties(booksRecordDTO, booksModels);

    return ResponseEntity.status(HttpStatus.CREATED).body(booksRepository.save(booksModels));
  }
}

DTO:

public record BooksRecordDTO(
    @NotBlank
    String title,
    @NotBlank
    String isbn,
    @NotNull
    Integer yearPublication,
    @NotBlank
    String cover,
    @NotBlank
    String description,
    @NotNull
    Integer pages,
    @JsonProperty("author")
    @Valid
    AuthorRecordDTO author,
    @JsonProperty("publishing_company")
    @Valid
    PublishingCompanyRecordDTO publishingCompany,
    @JsonProperty("gender")
    @Valid
    GenderRecordDTO gender
) {
}

Models:

 @Entity
@Table(name = "TB_BOOKS")
public class BooksModels extends RepresentationModel<BooksModels> implements Serializable {
  private static final long serialVersionUID = 1L;
  
@Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
  private String title;
  @ManyToOne
  @JoinColumn(name = "author_id")
  private AuthorModels author;
  private String isbn;
  private Integer yearPublication;
  @ManyToOne
  @JoinColumn(name = "publishing_company_id")
  private PublishingCompanyModels publishingCompany;
  private String cover;
  @ManyToOne
  @JoinColumn(name = "gender_id")
  private GenderModels gender;
  private String description;
  private Integer pages;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }

  public AuthorModels getAuthor() {
    return author;
  }

  public void setAuthor(AuthorModels author) {
    this.author = author;
  }

  public String getIsbn() {
    return isbn;
  }

  public void setIsbn(String isbn) {
    this.isbn = isbn;
  }

  public Integer getYearPublication() {
    return yearPublication;
  }

  public void setYearPublication(Integer yearPublication) {
    this.yearPublication = yearPublication;
  }

  public PublishingCompanyModels getPublishingCompany() {
    return publishingCompany;
  }

  public void setPublishingCompany(PublishingCompanyModels publishingCompany) {
    this.publishingCompany = publishingCompany;
  }

  public String getCover() {
    return cover;
  }

  public void setCover(String cover) {
    this.cover = cover;
  }

  public GenderModels getGender() {
    return gender;
  }

  public void setGender(GenderModels gender) {
    this.gender = gender;
  }

  public String getDescription() {
    return description;
  }

  public void setDescription(String description) {
    this.description = description;
  }

  public Integer getPages() {
    return pages;
  }

  public void setPages(Integer pages) {
    this.pages = pages;
  }
}

se vc nao precisa usar obrigatoriamente o name,tente fazer a atrubuicao de Autor, gênero e Editora se baseando pela atribuicao do campo title: