当前位置: 首页 > 知识库问答 >
问题:

JPA抛出-“错误:用户缺乏特权或未找到对象:book”

林德惠
2023-03-14

在我的项目中,我使用HSQLDB作为数据库。构造了数据库并添加了两个条目。现在我正在尝试用JPA获取这些条目。不幸的是,出现以下异常

错误:用户缺乏特权或未找到对象:BOOK javax.persistence.persistenceException:org.hibernate.exception.sqlgrammareXception:在org.hibernate.jpa.spi.abstractEntityManagerImpl.convert(Abstract EntityManagerImpl.java:1692)在org.hibernate.jpa.spi.Abstract EntityManagerImpl.convert(Abstract EntityManagerImpl.java:1602)在MarexCeption:无法在org.hibernate.exception.internal.sqlExceptionTypeDelegate.convert(SqlExceptionTypeDelegate.java:63)在org.hibernate.exception.internal.standardSqlExceptionConverter.convert(StandardSqlExceptionConverter.java:42)在org.hibernate.engine.jdbc.spi.sqlExceptionHelper.convert在org.hibernate.engine.jdbc.internal.statementPrepareImpl.prepareQueryStatement(StatementPrepareImpl.java:148)在org.hibernate.loader.loader.prepareQueryStatement(loader.java:1928)在org.hibernate.loader.loader.executeQueryStatement(loader.java:1897)在org.hibernate.loader.loade.executeQueryStatement(loader.java:1875)

下面是我的persistance.xml文件。

    <class>com.top.shelf.lib.entityManager.Book</class>

    <properties>
        <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:MyDB" />
        <property name="javax.persistence.jdbc.user" value="sa" />
        <property name="javax.persistence.jdbc.password" value="" />
        <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
    </properties>
</persistence-unit>

和我的实体类:

@Entity
@Table(name = "BOOK")
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    private int id;

    @Column(name = "TITLE")
    private String title;

    @Column(name = "AUTHOR")
    private String author;

    @Column(name = "BRIEF_DESCRIPTION")
    private String description;

    @Column(name = "ISBN")
    private String isbn;

    @Column(name = "LOCATION")
    private String location;

    @Column(name = "USER_ID")
    private String user_id;

    public Book(String title, String author, String description, String isbn,
            String location) {
        this.title = title;
        this.author = author;
        this.description = description;
        this.isbn = isbn;
        this.location = location;
    }

    public int getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public String getAuthor() {
        return author;
    }

    public String getDescription() {
        return description;
    }

    public String getIsbn() {
        return isbn;
    }

    public String getLocation() {
        return location;
    }

    public String getUser_id() {
        return user_id;
    }

}

共有1个答案

漆雕伟志
2023-03-14

尝试:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
      <persistence-unit name="manager" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <class>com.top.shelf.lib.entityManager.Book</class>

        <properties>
          <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
          <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:MyDB"/>
          <property name="javax.persistence.jdbc.user" value="sa"/>
          <property name="javax.persistence.jdbc.password" value=""/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
          <property name="hibernate.hbm2ddl.auto" value="update"/>
        </properties>
      </persistence-unit>
    </persistence>
 类似资料:
  • 在我的项目中,我使用HSQLDB作为数据库。构建了数据库并添加了两个条目。现在我正在尝试用JPA获取这些条目。不幸的是,获得以下异常 错误:用户缺乏权限或找不到对象:BOOK javax.persistence.persistenceexception:org.hibernate.exception.sqlgrammarexception:无法在org.hibernate.jpa.spi.abst

  • 问题内容: 因此,我已经在Google和堆栈中进行搜索,我发现了一堆错误相同的ppl,但是没有一种解决方案似乎可以解决我的问题。 我正在使用什么: Java 8 JavaEE7 TomEE 7.0 M3 JPA 2.0 ORM 1.0 Postgres 我认为问题在于命名查询,也许还有ManyToMany关系。 实体 User.java SystemRole.java XML配置 persiste

  • 我的程序是一个会计管理器,我有一个HSQLDB。这是主类,我目前正在对程序进行测试,所以在主函数中是我输入测试代码以将值插入数据库的地方。这是应用程序类。 我已经多次检查该表是否存在。我使用IntelliJ idea,它有一个数据库管理器,当我直接在数据库中运行相同的SQL时,它运行得很好,所以我知道问题不在于SQL代码。

  • 我正在使用和。每当我尝试执行insert语句时,我都会得到错误。 表clears存在于中,但是我遇到了这个错误。 offersdao.java

  • 我正在看一些旧代码,在运行一个单元测试时遇到了问题。 代码为: 但是,当试图准备语句时,它会抛出错误 用户缺少权限或找不到对象:CUSTOMERS_SEQ。下一个瓦尔。 我正在阅读错误本身,似乎找不到任何东西。奇怪的是,当我在本地运行查询选择CUSTOMERS_SEQ.NEXTVAL时,它工作正常。 任何和所有的帮助将不胜感激。

  • 我试图使用HSQLDB-2.3.4从Spring应用程序进行连接。 我使用以下细节创建了数据库 如果我通过hsqldb的SQL编辑器执行相同的查询,它执行得很好。你能帮我做这个吗。