0

次のスニペットは例外をスローします。

String hqlSelectDB = "use librarian";
sess.createQuery(hqlSelectDB).list();

例外

java.lang.IllegalArgumentException: node to traverse cannot be null!
org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:31)
org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:254)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
servlets.InsertPerson.doPost(InsertPerson.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

この例外が発生するのはなぜですか?

4

3 に答える 3

1

use librarianは有効なクエリではなく、結果が返されません。

として有効なクエリを試してくださいfrom librarian.SomeTable t

Hibernate Configurationを見ている場合は、構成フェーズ自体で、使用する DB を指定する必要があります。

SessionFactoryこれは、DB 接続を提供する (一種の接続プール)を作成するために hibernate によって使用される hibernate 構成プロパティ ファイルの例です。

hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost/mydatabase --> This is where you specify your DB name
hibernate.connection.username = myuser
hibernate.connection.password = secret
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
于 2013-06-28T06:18:05.137 に答える
0

そのはず

String hqlSelectDB = "from librarian";// where librarian is data object mapped with DB table
sess.createQuery(hqlSelectDB).list();
于 2013-06-28T06:22:43.280 に答える
0

HQL使用するクエリはクエリではありません

From librarian

動作します

于 2013-06-28T06:24:28.320 に答える