我有一个正在编写注释并通过单元测试的 arquillian 单元测试。
现在我想实际查看保存到我的 SQLServer 数据库中的内容。
当我打开 SQLServer 时,我看到了我的“注释”表,其中包含所有必需的列……但是没有数据。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
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">
<persistence-unit name="noteUnit"
transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/jdbc/datasources/notes</jta-data-source>
<properties>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2005Dialect" />
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup" />
<property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
</persistence-unit>
</persistence>
我已经尝试了 hbm22ddl.auto--'create-drop'、'update'、'validate' 的各种值,但是由于我的测试通过了,我假设新行正在被插入,然后在单元之后被 arquillian 立即删除测试?
下面的单元测试通过了——这意味着 arquillian 的 xml 文件和所有其他各种管道似乎设置正确。是否有设置可以保存所有插入的数据?
private NoteEntity createNote(){
NoteEntity note = new NoteEntity();
note.setGuid("123456789");
note.setAuthorId("12345");
return note;
}
@Test
public void createNoteTest(){
NoteEntity note1 = createNote();
mEntityManager.persist(note1);
Assert.assertNotNull(note1.getId());
}