Não entendi por que da esse erro ???
qdo tento fazer onetomany…
help
to usando java 1.5…
[TopLink Info]: 2008.11.28 01:21:24.388--ServerSession(15290002)--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 060908)
[TopLink Info]: 2008.11.28 01:21:26.259--ServerSession(15290002)--file:/C:/workspace/TesteJPA/build/classes-exemploJPA login successful
Erro:
Exception Description: The attribute [centros] should be of type Vector (or a type that implements Map or Collection, if using Java 2).
Mapping: oracle.toplink.essentials.mappings.OneToManyMapping[centros]
Descriptor: RelationalDescriptor(br.com.exemplojpa.modelo.Universidade --> [DatabaseTable(Universidade)])
Final...
--
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
UniversidadeDAO dao = new UniversidadeDAO();
Universidade univ = new Universidade();
univ.setNome("Universidade Federal do Rio Grande do Norte");
Centro centro1 = new Centro();
centro1.setNome("Centro de Tecnologia");
centro1.setUniversidade(univ);
Centro centro2 = new Centro();
centro2.setNome("Centro de Humanas");
centro2.setUniversidade(univ);
univ.setCentros(new HashSet<Centro>());
univ.getCentros().add(centro1);
univ.getCentros().add(centro2);
dao.inserirUniversidade(univ);
}catch(Exception e){
System.out.println("Erro..."+e);
}finally{
System.out.println("Final...");
}
}
}
---
public class UniversidadeDAO {
private EntityManagerFactory factory = null;
private EntityManager manager = null;
public UniversidadeDAO() {
factory = Persistence.createEntityManagerFactory("exemploJPA");
manager = factory.createEntityManager();
}
/**
* Inserindo um universidade
*
* @param universidade
*/
public void inserirUniversidade(Universidade universidade) {
EntityTransaction transaction = manager.getTransaction();
try {
transaction.begin();
manager.persist(universidade);
transaction.commit();
System.out.println("Inclusão OK...");
} catch (Exception e) {
transaction.rollback();
System.err.println("Erro: " + e.getMessage());
} finally {
manager.close();
}
}
/**
* Pesquisar um universidade
*
* @param universidade
*/
public Universidade pesquisarUniversidade(Integer id, Universidade universidade) {
EntityTransaction transaction = manager.getTransaction();
Universidade retorno = null;
try {
transaction.begin();
retorno = (Universidade) manager.find(Universidade.class, id);
} catch (Exception e) {
transaction.rollback();
System.err.println("Erro: " + e.getMessage());
} finally {
manager.close();
}
return retorno;
}
}
--
---
@Entity @Table(name = "Universidade")
public class Universidade {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id_universidade")
private int id;
private String nome;
//@OneToMany(mappedBy="universidade",fetch=FetchType.EAGER,cascade=CascadeType.ALL)
@OneToMany(mappedBy="universidade",fetch=FetchType.EAGER, cascade =javax.persistence.CascadeType.ALL)
//@Cascade(CascadeType.PERSIST)
@JoinColumn(name="id_universidade")
private Collection<Centro> centros;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
---
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id_centro")
private int id;
@Column
private String nome;
@ManyToOne(fetch = FetchType.EAGER)
//@PrimaryKeyJoinColumn
@JoinColumn(name="id_universidade")
//@Fetch(FetchMode.JOIN)
//@Cascade(CascadeType.PERSIST)
//@ForeignKey(name="FKCentro")
private Universidade universidade;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Universidade getUniversidade() {
return universidade;
}
public void setUniversidade(Universidade universidade) {
this.universidade = universidade;
--