Hibernate ERRO iniciante

2 respostas
SikerLamer

Boa tarde
Estou recorrendo a este fórum pois me encontro com pouco tempo para terminar este trabalho acadêmico e não tenho encontrado exemplos úteis em tutoriais na net.
Tenho apenas duas classes (Client e Music) formando uma tabela associativa (relação de muitos para muitos), colei aqui embaixo o mapeamento destas classes:

Client.hbm.xml
<?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="model.Client" table="clients">
                    <id name="clientId" column="client_id">
                        <generator class="increment"/>
                    </id>

                    <property name="name" column="name"/>
                    <property name="email" column="email"/>
                    <property name="login" column="login"/>
                    <property name="pass" column="pass"/>
                  <set name="playlist" table="client_music" cascade="all">
                    <key column="clientId" />
                    <many-to-many column="musicId" class="model.Music" />
                  </set>
                </class>

            </hibernate-mapping>
Music.hbm.xml
<?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="model.Music" table="musics">
                    <id name="musicId" column="music_id">
                        <generator class="increment"/>
                    </id>

                    <property name="name" column="name"/>
                    <property name="price" column="price"/>
                    <property name="genre" column="genre"/>
                    <property name="vocal" column="vocal"/>
                  <set name="userlist" table="client_music" cascade="all">
                    <key column="musicId" />
                    <many-to-many column="clientId" class="model.Client" />
                  </set>
                </class>

            </hibernate-mapping>

E aparece este erro:

org.hibernate.MappingException: An association from the table client_music refers to an unmapped class: model.Client
	at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1794)
	at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1726)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1393)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
	at dao.MusicDAO.<init>(MusicDAO.java:15)
	at control.Principal.main(Principal.java:24)

Não consigo achar aonde está o problema, em qual parte devo mudar alguma configuração errada, provavelmente é um erro bobo pois sou iniciante em hibernate (tentando fazer a primeira aplicação), se tiverem alguma idéia onde o erro pode estar eu agradeço...

ps: Não sei ao certo como se configura o HibernateUtil nem o hibernate.cfg.xml, nos tutoriais as vezes se usa os dois, as vezes apenas um, tem o hibernate.properties que tbm me confunde, meu problema tá nessa configuração que sempre varia entre os tutoriais.

2 Respostas

Master.Abs
<set name="playlist" table="client_music" cascade="all">

As duas tables se chamam client_music?

SikerLamer

Master.Abs:
<set name="playlist" table="client_music" cascade="all">
As duas tables se chamam client_music?

O que eu quis fazer com isso foi criar a tabela associativa client_music gerada pela associação de muitos pra muitos entre Client e Music, fiz besteira?

Criado 23 de dezembro de 2010
Ultima resposta 23 de dez. de 2010
Respostas 2
Participantes 2