java - 如何正确使用hibernate注解?

标签 java hibernate spring

我刚刚建立了一个基本的 hibernate/spring 项目来测试一些东西。我通过 WAMP 使用 MySQL 数据库。

这些是所有类:http://codepaste.net/7pwmtx

这是我的 bean 定义和 pom 文件:http://codepaste.net/4iz7jb

POM 有点困惑,但这就是问题所在:我认为我正确设置了我的方言,因为当我向数据库添加某些内容时我没有收到任何错误。当我在 hql 中使用 find 时出现错误。 hibernate 似乎没有从它放置数据的同一位置检索数据。知道为什么这不起作用吗?

顺便说一句,控制台输出是:

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

最佳答案

将实体类hibernate.dao.HObject添加到hibernate.cfg.xml文件中。即使您使用基于注释的配置,也需要它。

如果您想跳过将这些添加到 cfg 文件中,您可以使用提到的方法 here前提是您使用的是 spring

关于java - 如何正确使用hibernate注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874523/

相关文章:

java - 在同一事务方法中使用 CriteriaBuilder JPA 插入和更新会出现错误 "Foreign Key not exist"

Oracle 和 Hibernate 之间的 Java 数据类型不匹配

java - IntelliJ 运行/调试配置 - 启动序列之前 : Starting with Tomcat Server doesn't progress

java - 在 ELKI 中将 DBSCAN 与 RStarTree 一起使用时出现 UnsupportedOperationException

java - Maven - 将类添加为依赖项后导入该类

java - 计算两个矩形之间的交点

java - Hibernate @OneToOne with updateable = false 仍在更新

java - Spring JMS - 计时器上的耗尽主题

java - SimpleMessageListener 与 DirectMessageListener

java - 如何使用 Websphere 7 将环境限制为 JDK 1.5 来启动 WAR?