如何访问未映射为实体类的数据库表

时间:2015-12-03 06:48:12

标签: mysql spring hibernate

我想在spring + hibernate中访问数据库表的所有记录。我使用MySql作为数据库。场景是我无法将此表映射到实体类,因为此表是在运行时(动态)创建的。

我尝试通过查询“SELECT * FROM tableName”访问,但收到了错误:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [SELECT * FROM tableName].

当我尝试“from tableName”时,我得到了映射相关的错误。如果这是一个愚蠢的问题,那么请提供一些链接,从中我可以获得有关此信息。
请帮帮我。

1 个答案:

答案 0 :(得分:2)

在HQL中不可能,但hibernate允许触发本机SQL。

您可以使用

SQLQuery nativeQuery=session.createSQLQuery("SELECT * FROM tableName");
List results=nativeQuery.list();

并检查清单。或者使用nativeQuery.addEntity(YourEntityClassHere.class)

添加实体以映射结果