获得" SQLGrammarException:无效的对象名称"获取表数据

时间:2015-01-20 07:23:07

标签: sql-server hibernate spring-mvc

以前我的项目(Spring和Hibernate集成)与mysql连接现在我正在尝试连接SQL Server 2005,在整个项目中我正在使用HQL查询,当我尝试从表中获取数据时它给出错误作为休闲

Hibernate: select role0_.id as id1_, role0_.description as descript2_1_, role0_.name as name1_ from easylibSQL.role role0_

WARN [localhost-startStop-1] SqlExceptionHelper.logExceptions(143) | SQL Error: 208, SQLState: 42S02
ERROR [localhost-startStop-1] SqlExceptionHelper.logExceptions(144) | Invalid object name 'easylibSQL.role'.
org.hibernate.exception.SQLGrammarException: Invalid object name 'easylibSQL.role'.
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:122)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
    at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)
    at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
    at com.sun.proxy.$Proxy115.executeQuery(Unknown Source)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:1926)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1727)
    at org.hibernate.loader.Loader.doQuery(Loader.java:852)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
    at org.hibernate.loader.Loader.doList(Loader.java:2411)
    at org.hibernate.loader.Loader.doList(Loader.java:2397)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2227)
    at org.hibernate.loader.Loader.list(Loader.java:2222)

但是如果我使用Native SQL查询然后执行正常,我该如何解决这个问题。我在网上搜索但没有得到有效的解决方案。

我引用了这个link,但错误是一样的,在我的例子中,所有表都有一个带有自动递增值的id主键。我在POJO类

中注释了ID
    @Id
    @GeneratedValue
    @DocumentId
    @Column(name="id")
    public Long getId() {
        return id;
    }

我试过这个但没有用

@GeneratedValue(strategy = GenerationType.AUTO)

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

最后我发现解决方案我将所有具有Bigint的数据类型替换为int,因此它工作正常