【问题标题】:Getting " SQLGrammarException: Invalid object name " on fetching table data在获取表数据时获取“ SQLGrammarException: Invalid object name ”
【发布时间】:2015-01-20 07:23:07
【问题描述】:

以前我的项目(集成了 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)

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

【问题讨论】:

    标签: sql-server hibernate spring-mvc


    【解决方案1】:

    最后我找到了解决方案,我将所有具有 Bigint 的列数据类型替换为 int,所以它工作正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 2017-11-09
      • 2019-06-16
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      相关资源
      最近更新 更多