Mapeamento M X N hibernate  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
diegowebby
Debugger
[Avatar]

Membro desde: 14/02/2007 10:08:02
Mensagens: 68
Offline

Pessoal, segue o erro que estou obtendo.

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Can not instantiate DAO: class br.ufpb.coperve.persistencia.dao.postgre.ConcursoDAOHibernate
11:28:05,288 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.PreInscricao.opcoes -> PreOpcao
at br.ufpb.coperve.persistencia.HibernatePostgreDAOFactory.instantiateDAO(HibernatePostgreDAOFactory.java:223)
at br.ufpb.coperve.persistencia.HibernatePostgreDAOFactory.getConcursoDAO(HibernatePostgreDAOFactory.java:95)
11:28:05,289 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.Prova.diasProva -> DiaProva
at br.ufpb.coperve.visao.tables.ConcursoTable.montaTabela(ConcursoTable.java:4
11:28:05,295 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.DiaProva.disciplinas -> DisciplinaProva
at br.ufpb.coperve.visao.tables.ConcursoTable.<init>(ConcursoTable.java:35)
at br.ufpb.coperve.visao.form.PrincipalForm.jMenuItem13ActionPerformed(PrincipalForm.java:182
11:28:05,295 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.DisciplinaProva.questoes -> Questao
at br.ufpb.coperve.visao.form.PrincipalForm.access$000(PrincipalForm.java:84)
11:28:05,296 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.LocalProva.salas -> Sala
at br.ufpb.coperve.visao.form.PrincipalForm$1.actionPerformed(PrincipalForm.java:256)
11:28:05,296 INFO HbmBinder:2375 - Mapping collection: br.ufpb.coperve.vo.LocalProvaConcurso.salas -> SalaConcurso
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
at java.awt.Component.processEvent(Component.java:602
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:423
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:416
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.hibernate.MappingException: An association from the table categorias_cursos refers to an unmapped class: Curso
at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1252)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1170)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286)
at br.ufpb.coperve.persistencia.HibernatePostgreDAOFactory.getCurrentSession(HibernatePostgreDAOFactory.java:231)
at br.ufpb.coperve.persistencia.HibernatePostgreDAOFactory.instantiateDAO(HibernatePostgreDAOFactory.java:220)
... 33 more

Pessoal segue os modelos e os mapeamentos.


<code>

package br.ufpb.coperve.vo;

import java.util.Set;

public class Curso {

private Integer codigo;
private String nome;
private String nomeReduzido;
private String codigoPrg;
private String curriculoAtual;
private int musica; // 0 - não ; 1 - sim
private byte turno;
private Polo polo;
private Campus campus;
private Set categorias;

private byte status;

public byte getStatus() {
return status;
}

public void setStatus(byte status) {
this.status = status;
}

public Integer getCodigo() {
return codigo;
}

public void setCodigo(Integer codigo) {
this.codigo = codigo;
}

public String getCodigoPrg() {
return codigoPrg;
}

public void setCodigoPrg(String codigoPrg) {
this.codigoPrg = codigoPrg;
}

public String getCurriculoAtual() {
return curriculoAtual;
}

public void setCurriculoAtual(String curriculoAtual) {
this.curriculoAtual = curriculoAtual;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getNomeReduzido() {
return nomeReduzido;
}

public void setNomeReduzido(String nomeReduzido) {
this.nomeReduzido = nomeReduzido;
}

public Campus getCampus() {
return campus;
}

public void setCampus(Campus campus) {
this.campus = campus;
}

public byte getTurno() {
return turno;
}

public void setTurno(byte turno) {
this.turno = turno;
}

public String toString(){
return this.codigo.toString() + " - " + this.nome ;
}

public boolean equals(Object objeto){
try{
return ((Curso) objeto).getCodigo().intValue() == this.codigo.intValue();
}
catch (Exception e){
return false;
}
}

public int getMusica() {
return musica;
}

public void setMusica(int musica) {
this.musica = musica;
}

public Polo getPolo() {
return polo;
}

public void setPolo(Polo polo) {
this.polo = polo;
}

public Set getCategorias() {
return categorias;
}

public void setCategorias(Set categorias) {
this.categorias = categorias;
}



}


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package br.ufpb.coperve.vo;

import java.util.Set;

/**
*
* @author emerson
*/
public class Categoria {

private Integer id;
private String nome;
private Set cursos;



public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public Set getCursos() {
return cursos;
}

public void setCursos(Set cursos) {
this.cursos = cursos;
}






}


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="br.ufpb.coperve.vo.Categoria">
<!-- Identificador da classe -->
<id name="id">
<generator class="sequence">
<param name="sequence">categoria_id_sequence</param>
</generator>
</id>

<!-- Propriedades da classe -->
<property name="nome" length="256"/>

<set name="cursos" table="categorias_cursos">
<key column="categoria_id" />
<many-to-many column="curso_id" class="Curso"/>
</set>

</class>
</hibernate-mapping>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="br.ufpb.coperve.vo.Curso">
<!-- Identificador da classe -->
<id name="codigo"/>

<!-- Propriedades da classe -->
<property name="nome" length="50"/>
<property name="nomeReduzido" length="12"/>
<property name="codigoPrg" length="10"/>
<property name="curriculoAtual" length="4"/>
<property name="turno" length="1"/>
<property name="musica" length="1"/>
<property name="status" length="1"/>

<many-to-one name="campus"
column="campusid"
not-null="true"/>

<many-to-one name="polo"
column="poloid"
not-null="true"/>


<set name="categorias" table="categorias_cursos">
<key column="curso_id"/>
<many-to-many column="categoria_id" class="Categoria"/>
</set>


</class>
</hibernate-mapping>

</code>


Alguém sabe dizer qual o problema?
ccllss
JavaBaby

Membro desde: 26/09/2007 10:01:43
Mensagens: 75
Offline

DiegoWebby,

Dê um olhada neste mapeamento. Acredito que faltaram as definições de column em seus hbm.xml.





PS.: Por favor edite seu poste e coloque as tags onde existem código. O fórum agradece.

@braços

This message was edited 2 times. Last update was at 23/04/2010 11:50:40


Cleiton L. Siqueira - Analista de Sistemas
Bacharel Ciência da Computação
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team