- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了奇怪的问题。我正在尝试进行集成测试,但 Entity Manager creator 不工作。
<? xml version = "1.0" encoding = "UTF-8"?>
<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 = "db-test" transaction-type = "RESOURCE_LOCAL">
<provider> org.hibernate.jpa.HibernatePersistenceProvider </ provider>
<class> br.com.e2pd.model.Grupo </ class>
<properties>
<property name = "javax.persistence.jdbc.url" value = "jdbc: hsqldb: mem: db-test" />
<property name = "javax.persistence.jdbc.user" value = "sa" />
<property name = "javax.persistence.jdbc.password" value = "" />
<property name = "javax.persistence.schema-generation.database.action" value = "drop-and-create" />
<property name = "hibernate.show_sql" value = "true" />
<property name = "hibernate.hbm2ddl.auto" value = "update" />
</ properties>
</ persistence-unit>
</ persistence>
public class RepositoryTest {
protected static EntityManagerFactory factory;
protected static EntityManager em;
@BeforeClass
public static void setUpPersistence() {
factory = Persistence.createEntityManagerFactory("db-test");
em = factory.createEntityManager();
em.getTransaction().begin();
}
@AfterClass
public static void tearDown() {
em.getTransaction().commit();
em.close();
factory.close();
}
}
public class GrupoRepositoryTest extends RepositoryTest {
private GrupoRepository repository;
@Before
public void setUp() {
this.repository = new GrupoRepositoryImpl(em);
}
}
@Entity
@Table(name = "grupos")
public class Grupo implements Model{
@Id
@GeneratedValue
@Column(name = "id")
private Long id;
@Column(name = "nome")
private String nome;
public Grupo() {
}
public Grupo(Long id, String nome) {
this.id = id;
this.nome = nome;
}
//gets and sets
}
日志出现在这里:
20: 53: 28.484 INFO [LogHelper] HHH000204: Processing PersistenceUnitInfo [
name: DB-test
...]
20: 53: 28.582 INFO [Version] HHH000412: Hibernate Core 5.0.2.Final {}
20: 53: 28.584 INFO [Environment] HHH000206: hibernate.properties not found
20: 53: 28.586 INFO [Environment] HHH000021: Bytecode provider name: Javassist
20: 53: 39.198 INFO [Version] HCANN000001: Hibernate Commons Annotations 5.0.0.Final {}
20: 55: 45.714 WARN [DriverManagerConnectionProviderImpl] HHH000402: Using Hibernate built-in connection pool (not for production use!)
20: 55: 45.732 INFO [DriverManagerConnectionProviderImpl] HHH000401: using driver [null] at URL [jdbc: hsqldb: mem: db-test]
20: 55: 45.733 INFO [DriverManagerConnectionProviderImpl] HHH000046: Connection properties: user = {s}
20: 55: 45.733 INFO [DriverManagerConnectionProviderImpl] HHH000006: Autocommit mode: false
20: 55: 45.740 INFO [DriverManagerConnectionProviderImpl] HHH000115: Hibernate connection pool size: 20 (min = 1)
STOPS HERE!
并给出异常 Caused by: java.sql.SQLException: No suitable driver found for jdbc: hsqldb: mem: db-test
.
为了解决这个异常,我在 setUpPersistence() 中做了它(甚至不知道它是否是最好的解决方案):
try {
Class.forName ("org.hsqldb.jdbcDriver");
connection = DriverManager.getConnection ("jdbc: hsqldb: mem: db-test", "sa", "");
} Catch (Exception ex) {
ex.printStackTrace ();
}
此后路测报错时:
java.lang.NoSuchMethodError: javax.persistence.Table.indexes () [Ljavax / persistence / Index;
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:1080)
at org.hibernate.cfg.AnnotationBinder.bindClass (AnnotationBinder.java:765)
at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:770)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:797)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:47)
at unit.br.com.e2pd.common.RepositoryTest.setUpPersistence (RepositoryTest.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source)
at java.lang.reflect.Method.invoke (Unknown Source)
org.junit.runners.model.FrameworkMethod at $ 1.runReflectiveCall (FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47)
at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:24)
at org.junit.internal.runners.statements.RunAfters.evaluate (RunAfters.java:27)
at org.junit.runners.ParentRunner.run (ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:192)
java.lang.NullPointerException
at unit.br.com.e2pd.common.RepositoryTest.tearDown (RepositoryTest.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source)
at java.lang.reflect.Method.invoke (Unknown Source)
org.junit.runners.model.FrameworkMethod at $ 1.runReflectiveCall (FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47)
at org.junit.internal.runners.statements.RunAfters.evaluate (RunAfters.java:33)
at org.junit.runners.ParentRunner.run (ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:192)
最佳答案
可能这个跟JPA版本有关,看这个问题NoSuchMethodError in javax.persistence.Table.indexes()[Ljavax/persistence/Index
希望有所帮助
关于java - 创建 EntityManager + Junit + HSQLDB 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33521480/
有没有办法截断HSQLDB中的所有表? 如果这不可能,是否有任何方法可以级联删除具有外键引用的表? 最佳答案 可以截断模式中的所有表: 截断模式并提交 此命令有一些选项在指南中有描述: http://
DB 中的表数量有限制吗? 模式内的表数量是否有一些限制? 最佳答案 希望这可以帮助 What are the limitations of the database (size of columns
我想在 .script 文件中评论一个查询,我该怎么做?我用 # 测试过, -- , ({}) , , ::没有任何效果。我收到有关意外 token 的广告异常。 最佳答案 Spring 嵌入式数据
我想以编程方式启动 HSQLdb 服务器。 我创建了一个如下所示的可运行对象,然后在一个线程中启动它。 Runnable hsqlRunnable = new Runnable() {
我正在尝试使用 Liquibase 1.9.5 将一些数据加载到 HSQLDB 数据库中。我有一个 loadData 命令如下: 在我的 CSV 数据文件中,我试图将
我正在使用 HSQLDB 来持久化一个小数据,在我的查询中,我想在第一次创建表,如果它们不再存在。 但是,对于 HSQLDB,我无法像 mysql 或 mssql 等其他 dbms 一样执行查询“CR
我正在尝试将 HSQLDB 用作 spring 应用程序中的嵌入式数据库(用于测试)。由于目标生产数据库是Oracle,我想使用HSQLDBs Oracle 语法模式特性。 在我使用的 Spring
是否有与 MYSQL SHOW COLUMNS from TABLE 命令等效的 HSQLDB? 最佳答案 HSQLDB 没有用于显示表、列或其他数据库对象的单独命令。 为此目的,您使用 SELECT
我想做什么 如何让 maven/eclipse 指向 2.3.2 jar? 通过 Java/jdbc 连接到 HSQL 数据库(我想一旦我解决了上述问题我应该能够这样做) 我的设置 看来我的hsql服
当我的列名包含连字符“-”时出现异常 Entity : this is the entity name. @Entity @Table(name = "RequestHeade
我们有一个设置,使用嵌入式 HSQLDB 来支持 Java 中的 Hibernate/JPA 单元测试,并且我们使用内存数据库模式,因为我们只是希望在测试运行后丢弃数据库。我的问题是,其中一项测试由于
如何在HSQLDB 和C# .net 之间形成连接?我已经看过 SharpHSQL 和 H2Sharp,但无法连接 HSQLDB。 最佳答案 试试这样:确保您已经添加 hsqldb.dll、IKVM.
我正在尝试使用 Hibernate 和 HSQLDB。我试图将教程改编为更当前的版本,所以可能存在问题。当我使用 JUnit 运行单元测试时会发生这种情况。 我将 HSQLDB 2.3.2 与 Hib
我有 DAO 代码,其中包含一些具有 Oracle 特定语法的 JDBC,例如: select count(*) cnt from DUAL where exists (select null fro
我经常使用内存中的 HSQL 数据库作为测试数据库来编写依赖于数据库的代码的单元测试。最近我决定从 1.8.1.3 升级到 2.2.9 以利用 2.x 版本分支中添加的 ROW_NUMBER() 支持
要使用缓存表,我可以使用驱动程序 URL:jdbc:hsqldb:mem或者我应该使用 jdbc:hsqldb:file ? 我需要一个非持久性临时表来保存更多可以放入内存的数据。 文档中不清楚是否使
我正在尝试使用 2.2.9、Hibernate 3.6.9 和 Spring 3.1.2 版本设置 HSQL 数据库进行测试。我们一直在使用本地 postgresql 数据库,但正在转换以进行测试。我
我正在创建一个使用嵌入式hsqldb的基于Spring的Web应用程序。 我的spring配置非常简单: 但是通过此配置,所有数据都存储在内存中。这是创建的数据源URL jdbc:hsq
“如何索引 HSQL 数据库?” 最佳答案 您不索引数据库,而是在表中的字段上创建索引。您可以在单个列上创建索引,也可以在多个列上创建单个索引。 从这里开始 http://www.hsqldb.org
如何查看HSQLDB中表的结构(列的详细信息等)?它不像Oracle那样“desc”,那又如何呢? 最佳答案 该信息由INFORMATION_SCHEMA中的 View 提供 SELECT * FRO
我是一名优秀的程序员,十分优秀!