Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hibernate + Tomcat -> org.hibernate.hql.ast.QuerySyntaxException

0 views
Skip to first unread message

Mariusz

unread,
Apr 21, 2007, 4:38:22 AM4/21/07
to
Witam!
Zaczynam swoją przygodę z ORM i na pierwszy ogień poszedł Hibernate.
Chciałem sobie przerobić aplikację opartą na JDBC. Ponieważ "funguje" ona
sobie pod Tomcat'em 5.5.17 z wykorzystaniem MyFaces więc w pliku
hibernate.cfg.xml odwołuję się do bazy dzięki JNDI.
Stworzyłem prostą klasę, która jest zmapowana do tablicy w bazie:

@Entity
@Table(name="pracownicy")
public class PracownicyTable {
private long prac_id;

public PracownicyTable() {

}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public long getPrac_id() {
return prac_id;
}

protected void setPrac_id(long id) {
this.prac_id = id;
}
}

Niesty po wykonaniu prostego zapytania:
Query query = session.createQuery("from PracownicyTable");

dostaję błąd:
org.hibernate.hql.ast.QuerySyntaxException: PracownicyTable is not mapped
[from PracownicyTable]
at
org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
at
org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
at
org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at
org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at
org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at
org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
(....)

Co robię nie tak?
W pliku hibernate.cfg.xml ma zmapowaną klasę. Próbowałem również poprzez
mapowanie jej w kodzie:
sessionFactory = new
AnnotationConfiguration().addAnnotatedClass(PracownicyTable.class).configure()
.buildSessionFactory();
też nie pomaga :(
Co jeszcze trzeba zrobić?
Proszę o pomoc, zaczynam się zniechęcać do Hibernate ;)

Pozdrawiam
Mariusz

Mariusz

unread,
Apr 21, 2007, 5:00:59 AM4/21/07
to
Dodam jeszcze tylko, że wszystko chodzi na:
Tomcat 5.5.17
MySQL 4.1.9 pod sterownikiem mysql-connector-java-3.1.11-bin.jar
oraz Hibernate Core 3.2.3.ga + Hibernate Annotations 3.3.0 GA
0 new messages