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]