Erro na hora de listar livros por autor

Boa tarde, estou praticando programação automatizando uma biblioteca, mas estou tendo problemas quando tento listar Livros pelo Autor.
sempre que tento é indicado o erro “java.lang.NullPointerException”

vou colocar o código

Classe Livro
@Entity
public class Livro {

@Id
@GeneratedValue
private long idLivro;
@Column(length = 100, nullable = true)
private String titulo;
@ManyToOne
private Autor autor;
@Temporal(TemporalType.DATE)
private Date anoDePublicacao;
@ManyToOne
private Editora editora;
@Column(length = 3, nullable = false)
private String numeroDeEdicao;
@Column(length = 3, nullable = true)
private double Copias;

public long getIdLivro() {
    return idLivro;
}

public void setIdLivro(long idLivro) {
    this.idLivro = idLivro;
}

public String getTitulo() {
    return titulo;
}

public void setTitulo(String titulo) {
    this.titulo = titulo;
}

public Autor getAutor() {
    return autor;
}

public void setAutor(Autor autor) {
    this.autor = autor;
}



public Date getAnoDePublicacao() {
    return anoDePublicacao;
}

public void setAnoDePublicacao(Date anoDePublicacao) {
    this.anoDePublicacao = anoDePublicacao;
}

public Editora getEditora() {
    return editora;
}

public void setEditora(Editora editora) {
    this.editora = editora;
}

public String getNumeroDeEdicao() {
    return numeroDeEdicao;
}

public void setNumeroDeEdicao(String numeroDeEdicao) {
    this.numeroDeEdicao = numeroDeEdicao;
}

public double getCopias() {
    return Copias;
}

public void setCopias(double Copias) {
    this.Copias = Copias;
}

@Override
public String toString() {
    return "Livro{ " + "idLivro= " + idLivro + ", titulo= " + titulo + ", autor= " + autor.getNomeAutor() + ", anoDePublicacao= " + anoDePublicacao + ", editora= " + editora.getNomeEditora() + ", numeroDeEdicao= " + numeroDeEdicao + ", numero De Copias Disponiveis para Aluguel= " + Copias + '}';
}

}

Classe Autor
@Entity
public class Autor {

@Id
@GeneratedValue
private long idAutor;
@Column(length = 20, nullable = true)
private String nomeAutor;
@Temporal(TemporalType.DATE)
private Date dtNascimento;
@Temporal(TemporalType.DATE)
private Date dtMorte;
@Column(length = 30, nullable = true)
private String nacionalidade;
@Column(length = 30, nullable = true)
private String generoLiterario;

public long getIdAutor() {
    return idAutor;
}

public void setIdAutor(long idAutor) {
    this.idAutor = idAutor;
}

public String getNomeAutor() {
    return nomeAutor;
}

public void setNomeAutor(String nomeAutor) {
    this.nomeAutor = nomeAutor;
}

public Date getDtNascimento() {
    return dtNascimento;
}

public void setDtNascimento(Date dtNascimento) {
    this.dtNascimento = dtNascimento;
}

public Date getDtMorte() {
    return dtMorte;
}

public void setDtMorte(Date dtMorte) {
    this.dtMorte = dtMorte;
}

public String getNacionalidade() {
    return nacionalidade;
}

public void setNacionalidade(String nacionalidade) {
    this.nacionalidade = nacionalidade;
}

public String getGeneroLiterari() {
    return generoLiterario;
}

public void setGeneroLiterari(String generoLiterari) {
    this.generoLiterario = generoLiterari;
}

@Override
public String toString() {
    return "Autor{" + "idAutor=" + idAutor + ", nomeAutor=" + nomeAutor + ", dtNascimento=" + dtNascimento + ", dtMorte=" + dtMorte + ", nacionalidade=" + nacionalidade + ", generoLiterari=" + generoLiterario + '}';
}

}

Função para listar os livro por Autor
@Test
public void testListarPorAutor() throws Exception {
String resposta;
System.out.println(“Informe o nome do autor”);
resposta = “Teste do if”;
for (Livro perc : fldao.facadeListaLivro()) {
if (perc.getAutor().getNomeAutor().equals(resposta)) {
System.out.println(perc);
}
}
O código parece correto para mim. Quem puder ajudar agradeço

Acho que falou o @JoinColumn nessa parte. Talvez, por isso, o Autor esteja vindo null.

Era isso. Obrigado