These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Probleme avec criteria et relation many-to-many
PostPosted: Thu Feb 22, 2007 7:44 am 
Newbie

Joined: Thu Feb 22, 2007 6:15 am
Posts: 7
Bonjour,

j'ai deja posté mon message du coté anglais mais je vais le poster ici aussi.
Je decouvre Hibernate et je tente de le prendre en main avec Eclipse (plugin Hibernate Tools) et une base de données bidon qui se compose de 3 tables:
Code:
Author
  number
  name

Book
  number
  title
  year

WrittenBy
   author_num
   book_num


J'ai créé mes fichiers de config, generé les fichiers HBM et les codes source :
Code:
public class Author implements java.io.Serializable
{
   private int number;
   private String name;
   private Set books = new HashSet(0);
        ...
}

public class Book implements java.io.Serializable
{
   private int number;
   private String title;
   private Short year;
   private Set authors = new HashSet(0);
        ...
}


ici par exemple le fichier Book.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="Book" table="book" schema="public">
        <id name="number" type="int">
            <column name="number" />
            <generator class="assigned" />
        </id>
        <property name="title" type="string">
            <column name="title" not-null="true" />
        </property>
        <property name="year" type="java.lang.Short">
            <column name="year" />
        </property>
        <set name="authors" inverse="true">
            <key>
                <column name="book_num" not-null="true" />
            </key>
            <many-to-many entity-name="Author">
                <column name="author_num" not-null="true" />
            </many-to-many>
        </set>
    </class>
</hibernate-mapping>


Alors avec tout ca, j'ai commencé interroger la base avec l'API criteria.
d'abord avec des requetes simples sur 1 table: restriction, projection, order...
tout va bien
Mais ça ne fonctionne plus quand je tente des requetes sur les 2 tables:
Code:
Criteria c1=session.createCriteria(Book.class);
Criteria c2=c1.createCriteria("authors");
c2.add(Restrictions.ilike("name", "%erg%"));
list=c1.list();


et voila ce que je recois
Quote:
Caused by: org.postgresql.util.PSQLException: ERROR: relation "authors" does not exist


Je comprends pas tout ce qui se passe parce que j'ai l'impression que tout est ok !
peut etre des attributs dans les balises des fichiers HBM ?
une idée ?[/quote][/code]


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 22, 2007 9:05 am 
Newbie

Joined: Thu Feb 22, 2007 6:15 am
Posts: 7
J'ai reussi a resoudre mon probleme.
Pour ceux que ça interesse, c'est dans le fichier hbm,
je devais ajouter le nom de la table de jointure :
<set name="authors" inverse="true" table="writtenby">
Voila.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.