小编Flu*_*ffy的帖子

HSQLDB和Hibernate:单元测试引发org.hsqldb.HsqlException:用户缺少权限或对象未找到

我正在尝试使用Hibernate和HSQLDB.我尝试将教程改编为更新版本,因此可能存在问题.当我使用JUnit运行单元测试时会发生这种情况.

我正在使用HSQLDB 2.3.2和Hibernate(JPA)4.3.5.

我得到的错误是这样的:

16:40:16,802 DEBUG SQL:109 - 选择device0_.DEVICE_ID为DEVICE_I1_0_,device0_.DEVICE_FIRMWARE_VERSION为DEVICE_F2_0_,device0_.DEVICE_IMAGE为DEVICE_I3_0_,来自DEVICES device0_ limit?16:40:16,802 DEBUG SQL:109 - 选择device0_.DEVICE_ID为DEVICE_I1_0_,device0_.DEVICE_FIRMWARE_VERSION为DEVICE_F2_0_,device0_.DEVICE_IMAGE为DEVICE_I3_0_,来自DEVICES device0_ limit?16:40:16,802 DEBUG SQL:109 - 选择device0_.DEVICE_ID为DEVICE_I1_0_,device0_.DEVICE_FIRMWARE_VERSION为DEVICE_F2_0_,device0_.DEVICE_IMAGE为DEVICE_I3_0_,来自DEVICES device0_ limit?16:40:16,803 WARN SqlExceptionHelper:144 - SQL错误:-5501,SQLState:42501 16:40:16,803 WARN SqlExceptionHelper:144 - SQL错误:-5501,SQLState:42501 16:40:16,803错误SqlExceptionHelper:146 - 用户缺乏未找到权限或对象:设备16:40:16,803错误SqlExceptionHelper:146 - 用户缺少未找到的权限或对象:设备16:40:16,804错误gwt-log:81 - e:javax.persistence.PersistenceException:org.hibernate. exception.SQLGrammarException:无法准备语句javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法准备语句...引起:org.hibernate.exception.SQLGrammarException:无法准备语句...引起: java.sql.SQLSyntaxErrorException:user缺少未找到的权限或对象:DEVICES ...由以下原因引起:org.hsqldb.HsqlException:user缺少未找到的权限或对象:DEVICES ...

我的persistence.xml看起来像这样:

<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="testproject" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>


    <class>testproject.server.domain.Device</class>

    <exclude-unlisted-classes/>

    <properties>

      <!-- Database connection settings -->
      <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
      <property name="hibernate.connection.url" value="jdbc:hsqldb:file:/db/testdb" />
      <property name="hibernate.connection.username" value="sa" />
      <property name="hibernate.connection.password" value="" />

      <!-- JDBC …
Run Code Online (Sandbox Code Playgroud)

junit hibernate hsqldb

7
推荐指数
1
解决办法
2万
查看次数

使用Logger时Hibernate MappingException

我有一个奇怪的错误:我有一个使用Hibernate注释的类.一切都很好,直到我开始引入这样的日志记录:

@Entity
@Table(name = "GROUP_TABLE")
public class Group {
    private static final Logger logger = LoggerFactory.getLogger(Group.class);  
Run Code Online (Sandbox Code Playgroud)

产生的错误是:

[错误]引起:org.hibernate.MappingException:无法确定:org.slf4j.Logger的类型,在表:container,对于列:[org.hibernate.mapping.Column(logger)]

根据我的理解,静态字段在这种情况下应该没问题.那么为什么hibernate试图创建一个列"logger"?

我的依赖项是log4j 1.2.17,slf4j-api 1.7.7和slf4j-log4j12-1.7.7.

谢谢!

java hibernate slf4j

1
推荐指数
1
解决办法
723
查看次数

标签 统计

hibernate ×2

hsqldb ×1

java ×1

junit ×1

slf4j ×1