Saat ini saya sedang mengerjakan JBoss 7.1.1 dengan JPA (dengan Hibernate) dan Spring. Saya memiliki @Transactional
musim semi untuk mengurus Transaksi. Saat ini saya menggunakan H2 database
internal JBoss 7.1.1. Semua transaksi berfungsi dengan baik saat server aktif. Namun setelah saya mematikan server saya, semua perubahan yang dilakukan pada kacang entitas tidak disimpan dalam file database H2 saat server JBoss dimulai ulang. Setelah server JBoss dimatikan, ketika saya terhubung ke database H2 menggunakan file, saya melihat bahwa skema telah dibuat tetapi data tidak disimpan.
Saya merasa ini bukan masalah pada kode saya tetapi beberapa konfigurasi karena berfungsi dengan baik saat aplikasi berjalan.
Ini ketekunan.xml saya:
<?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="myappname" transaction-type="JTA">
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="jboss.entity.manager.factory.jndi.name" value="java:app/myappname"/>
</properties>
</persistence-unit>
</persistence>
Sumber data di standalone.xml:
<datasource jta="true" jndi-name="java:/DefaultDS" pool-name="DefaultDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:file:${jboss.server.data.dir}${/}h2${/}localDB</connection-url>
<driver>h2</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
</pool>
<security>
<user-name>sa</user-name>
</security>
<timeout>
<idle-timeout-minutes>0</idle-timeout-minutes>
</timeout>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</statement>
</datasource>
Bagaimana saya bisa membuat ini berfungsi?
Terima kasih sebelumnya
jdbc:h2:file:/${jboss.server.data.dir}/h2/localDB
atau mungkinjdbc:h2:file:${/}${jboss.server.data.dir}${/}h2${/}localDB
(tidak yakin apakah/mengapa${/}
perlu digunakan, bukan hanya/
). - person Thomas Mueller   schedule 18.09.2012jdbc:h2:file:/data/jboss/h2/localDB
. - person Thomas Mueller   schedule 18.09.2012