ManyToMany

Gente,

Estou mapeando duas classes: banda e fã. A banda pode ter vários fãs e o fã pode seguir várias bandas.

A seguir as classes:

[code]@Entity
@Table(name = “tb_fa”)
@NamedQueries({
@NamedQuery(name = “Fa.findByLogin”,
query = “SELECT u FROM Fa u WHERE lower(u.login) = :login order by u.id”),
@NamedQuery(name = “Fa.findAll”,
query = “SELECT u FROM Fa u order by u.id desc”) })
public class Fa extends Pessoa{

@Id
@Column(name="fa_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;


@ManyToMany
@JoinTable(name="tb_fa_tb_banda",
		joinColumns={@JoinColumn(name="fa_id")},
		inverseJoinColumns={@JoinColumn(name="banda_id")}
		)
private List<Banda> bandas;


private boolean isAdmin;


public Fa(){
	bandas = new ArrayList<Banda>();
	
}


//gets e sets

}[/code]

Banda

[code]@Entity
@Table(name = “tb_banda”)
@NamedQueries({
@NamedQuery(name = “Banda.findByLogin”,
query = “SELECT u FROM Banda u WHERE lower(u.login) = :login order by u.id”),
@NamedQuery(name = “Banda.findAll”,
query = “SELECT u FROM Banda u order by u.id desc”) })

public class Banda extends Pessoa{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;


private double mediaNota;
private String estiloMusical;
private String biografia;

private List<Fa> fas;

private String email;


private boolean isAdmin;
    
    //gets e sets

}[/code]

Mas está dando um erro:

[color=red]A Foreign key refering fa.Fa from banda.Banda has the wrong number of column. should be 2[/color]
2011-07-14 23:24:35,225 DEBUG hibernate.cfg.CollectionSecondPass -> Mapped collection key: id, element: pecas_id
2011-07-14 23:24:35,225 DEBUG hibernate.cfg.CollectionSecondPass -> Second pass for collection: fa.Fa.bandas
2011-07-14 23:24:35,225 DEBUG cfg.annotations.CollectionBinder -> Binding as ManyToMany: fa.Fa.bandas

O que eu estou fazendo errado?

Formata teu código usando a tag [code]

carol_ch,

Cadê as anotações de mapeamento de:

private List<Fa> fas;

Banda é mesmo filha de Pessoa?

public class Banda extends Pessoa ...

Até mais.