2011-10-24 15 views
0

私はちょうどいくつかのものをテストするための基本的な休止状態/春のプロジェクトを設定しました。私はWAMPを使用してMySQLのデータベースを使用します。hibernateアノテーションを正しく使用するには?

これらは、すべてのクラスです:http://codepaste.net/7pwmtx

これは私のBean定義とポンポンファイル:http://codepaste.net/4iz7jb

POMは少し厄介ですが、これは問題です:私は私の方言を設定することを考えますデータベースに何かを追加するときにエラーが発生しないためです。私はhqlでfindを使うとエラーが出る。私はそれが置いている同じ場所から冬眠isntのデータを取得しているようだ。なぜこのdoesntの作品がどんなアイデアですか?

ところで、コンソール出力は:

Exception in thread "main" org.springframework.orm.hibernate3.HibernateQueryException: hobject is not mapped [from hobject]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: hobject is not mapped [from hobject] 
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:660) 
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) 
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) 
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) 
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912) 
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:904) 
    at hibernate.dao.SpringHibernateOperatorImplementation.getAllRows(SpringHibernateOperatorImplementation.java:24) 
    at hibernate.main.HibernateMain.main(HibernateMain.java:22) 
Caused by: org.hibernate.hql.ast.QuerySyntaxException: hobject is not mapped [from hobject] 
    at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181) 
    at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110) 
    at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93) 
    at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:277) 
    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:251) 
    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183) 
    at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:134) 
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101) 
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80) 
    at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94) 
    at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156) 
    at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135) 
    at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650) 
    at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:914) 
    at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:1) 
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406) 
    ... 5 more 
+0

このエラーは、どのクラスを管理するかを通知していないこと、または少なくともhibernateで管理されているhobjectというクラスがないことを意味します。ここに設定を貼り付けてください。 –

+0

注釈によって構成されるはずです構成ファイルを使用します。 .xmlファイルを見ると、私はそれに対してアノテーションを使用していることがわかります。そして、私はbeandefinitionfileのプロパティを設定しました。 –

+0

しかし、なぜ "HObjectから"の代わりにString hql = "from hobject"を使用していますか? –

答えて

1

は、ファイルをがhibernate.cfg.xmlするhibernate.dao.HObjectエンティティクラスを追加します。アノテーションベースの設定を使用していても、それは必要ありません。

スプリングを使用している場合は、これらをcfgファイルに追加することをスキップするには、hereという方法を使用できます。

+0

ありがとう! –

関連する問題