Hibernate X Collections -- Erro type

Estou com um erro quando vou gerar o meu database atravéz do Hibernate.
Apos adicionar uma “lista de musicas” na classe cd.

[quote]
01:03:55,703 DEBUG Configuration:170 - processing foreign key constraints
Exception in thread “main” org.hibernate.MappingException: Could not determine type for: java.util.Collection, at table: tb_cd, for columns: [org.hibernate.mapping.Column(listMusica)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:161)
at org.hibernate.mapping.Column.getSqlType(Column.java:205)
at org.hibernate.mapping.Table.sqlCreateString(Table.java:420)
at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:881)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:129)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:91)
at persistence.GeraTabelas.main(GeraTabelas.java:29)[/quote]

package entidades;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@SequenceGenerator(name = "musica_sequence", sequenceName = "musica_sequence", allocationSize = 1)
@Table(name = "tb_musica", schema = "public")
public class Musica {

	@Id
	@Column (name = "cod_musica", nullable = false)
	private Integer cod_musica;

	@Column(name = "desc_musica", nullable = true, length = 50)
	private String desc_musica;

	@Column(name = "letra_musica", nullable = true, length = 1000)
	private String letra_musica;

	// Muitos bairros tem uma cidade
	@ManyToOne( targetEntity = Cd.class, fetch=FetchType.EAGER )  
    @JoinColumn( name="cod_cd" )
	private Cd cd;

	public Musica() {

	}

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "musica_sequence")
	@Column(name = "cod_musica")
	public Integer getCod_musica() {
		return cod_musica;
	}

	public void setCod_musica(Integer cod_musica) {
		this.cod_musica = cod_musica;
	}

	public String getDesc_musica() {
		return desc_musica;
	}

	public void setDesc_musica(String desc_musica) {
		this.desc_musica = desc_musica;
	}

	public String getLetra_musica() {
		return letra_musica;
	}

	public void setLetra_musica(String letra_musica) {
		this.letra_musica = letra_musica;
	}

	public Cd getCd() {
		return cd;
	}

	public void setCd(Cd cd) {
		this.cd = cd;
	}

}
[/code][code]/**
 * 
 */
package entidades;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Type;

@Entity
@SequenceGenerator(name = "cd_sequence", sequenceName = "cd_sequence", allocationSize = 1)
@Table(name = "tb_cd",schema="public")
public class Cd implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id
	@Column (name = "cod_cd", nullable = false)
	@Type (type = "int")
	private Integer cod_cd;
	@Column(name = "desc_cd", nullable = true, length = 50)
	private String desc_cd;
	@Column(name = "preco_cd")
	private Double preco_cd;
	
	@OneToMany(targetEntity=Musica.class, mappedBy="cd", fetch=FetchType.LAZY)
	private Collection&lt;Musica&gt; listMusica;

	public Cd() {
		
	}

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator="cd_sequence")  
	@Column(name = "cod_cd")
	public Integer getCod_cd() {
		return cod_cd;
	}

	public void setCod_cd(Integer cod_cd) {
		this.cod_cd = cod_cd;
	}

	public String getDesc_cd() {
		return desc_cd;
	}

	public void setDesc_cd(String desc_cd) {
		this.desc_cd = desc_cd;
	}

	public Double getPreco_cd() {
		return preco_cd;
	}

	public void setPreco_cd(Double preco_cd) {
		this.preco_cd = preco_cd;
	}

	public Collection&lt;Musica&gt; getListMusica() {
		return listMusica;
	}

	public void setListMusica(Collection&lt;Musica&gt; listMusica) {
		this.listMusica = listMusica;
	}

	
}

num será o nome do atributo errado (listMusica)