java - org.hibernate.hql.ast.QuerySyntaxException 表未映射

标签 java hibernate hibernate-mapping

我收到一个错误,如下所示:

java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: DirectAddress 未映射 [select d from DirectAddress d where emailaddress=?]

查询看起来像这样

Query query = session.createQuery("select d from DirectAddress d where emailaddress=?");

我已经为javax设置了一个实体

@Entity @Table(名称=“用户”)

然后我厌倦了这个查询:

查询 query = session.createQuery("select d from "+ DirectAddress.class.getName() + "d where emailaddress=?");

没有任何运气。

此外,项目未使用 hibernate.cfg.xml 文件。

有什么想法吗?

最佳答案

要使用您创建的实体,请确保将其标记为 @Entity 使用 javax 库。您还需要映射它,以便 hibernate 知道它应该将其链接到您的数据库表。请验证您的实体是否已映射到您的applicationContext.xml中(适用于 Spring 应用)或persistence.xml在常见的 hibernate 应用程序中。

映射您的实体

You can map your entities in many ways. The most common methods are:

直接映射到 hibernate.cfg.xml :

<mapping class="your.packages.to.the.entity.class" />

在 spring applicationContext.xml 的 hibernate 配置中进行设置

有关工作示例,请参阅: How configure hibernate.cfg.xml to applicationContext.xml as dataSource?

通过 Spring 注入(inject)

您提到不使用 hibernate.cfg.xml。您是否通过 spring (在非 Web 应用程序中)注入(inject) hibernate 设置?如果有,请引用Can we configure Hibernate Without hibernate.cfg.xml

如果所有解决方案均不适用,请提供有关您的系统的更多详细信息(网络、桌面、以编程方式设置 hibernate 等),我将使用最合适的解决方案编辑此答案。

干杯!

关于java - org.hibernate.hql.ast.QuerySyntaxException 表未映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42659245/

相关文章:

java - 具有多个 UDP 接收器的 GStreamer 管道(包含图像)

java - 在Android上使用圆形 ImageView

java - 如何从 GWT 访问 SQL 数据库?

java - 在 Hadoop 2.2.0 中打开缓存文件

java - 即使lazy = true,集合也被急切地加载?

java - 根据表子集的最大值获取行

java - LazyInitializationException 使用带有 @Basic(fetch = FetchType.LAZY) 的 hibernate 增强

java melody - spring 没有 sql stat - 没有 JNDI

java - 在哪种情况下您使用 JPA @JoinTable 注释?

java - 如何通过关联链接实体映射两个实体