Hibernate gerando sql errado

segue meu main()

[code]package br.com.testes;

import java.io.IOException;
import java.text.ParseException;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.bean.Autor;
import br.com.bean.Livro;

public class Testes {

/**
 * @param args
 * @throws ParseException 
 * @throws IOException 
 */

public static void main(String[] args) throws ParseException, IOException {
	
	EntityManagerFactory fac = Persistence.createEntityManagerFactory("MeuBanco");
	EntityManager manager = fac.createEntityManager();
	
	manager.getTransaction().begin();
	Query query = manager.createQuery("SELECT l.nome, l.autores FROM Livro l");
	List<Object[]> livros = query.getResultList();
	
	for (Object[] livro : livros) {
		System.out.println("Livro: "+ livro[0] +" Autor(es): " + livro[1]);
	}
	
	manager.getTransaction().commit();
    manager.close();
    fac.close();
	
}

}[/code]

minha classe Livro


package br.com.bean;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQuery;

@Entity
@NamedQuery(name = "findByNome", query = "select l from Livro l where l.nome = ?1")
public class Livro {

	@Id @GeneratedValue
	private Long id;
	private String nome;
	@ManyToMany(cascade=CascadeType.PERSIST)
	@JoinTable(name="autor_livro", joinColumns=@JoinColumn(name="livro_id"), inverseJoinColumns=@JoinColumn(name="autor_id"))
	private Set<Autor> autores;
	
	public Livro() {
		this.autores = new HashSet<Autor>();
	}
	
	public Set<Autor> getAutores(){
		return this.autores;
	}
	
	public void add(Autor autor) {
		autores.add(autor);
	}
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.nome;
	}
	
	
}

olhem o codigo que ta sendo gerado:
a linha com o “<<–” esta apontando a linha errada… o que sera que ta dando? :shock:

select livro0_.nome as col_0_0_, . as col_1_0_, <<-- autor2_.id as id8_, autor2_.nome as nome8_ from Livro livro0_ inner join autor_livro autores1_ on livro0_.id=autores1_.livro_id inner join Autor autor2_ on autores1_.autor_id=autor2_.id

Já tentou mapear o seu atributo “NOME” da classe Livro?
Mapeia ele e faz o teste!

@Column(name="nome", lenght="50") private String nome;

Abraços!

testei aqui e nao funfou… dropei o banco até… pra fazer um banco “limpo”.

Porem :confused: