لماذا لا تستمر بياناتي؟
-
26-09-2019 - |
سؤال
أنا أستخدم JPA و Java المدمجة DB في طلبي. أحاول كتابة بعض البيانات إلى قاعدة البيانات وعندما أحاول قراءتها مرة أخرى ، أتمكن من القيام بذلك. لكن التطبيق مغلق وعندما أفتحه مرة أخرى لا توجد أي من البيانات.
ها هو ملف المثابرة. xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="myMoneyPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>mymoney.Money</class>
<properties>
<property name="eclipselink.jdbc.password" value="adminadmin"/>
<property name="eclipselink.jdbc.user" value="admin"/>
<property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="eclipselink.jdbc.url" value="jdbc:derby:pocketmoney;create=true"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
هل هناك أي مشكلة في عنوان URL لقاعدة البيانات الخاصة بي.
JDBC: ديربي: PocketMoney
المحلول
هل هناك أي مشكلة في عنوان URL لقاعدة البيانات الخاصة بي.
لا ، إنه صحيح ويجب إنشاء قاعدة بيانات في دليل العمل الحالي.
بعض الأفكار لتصحيح مشكلتك:
- استخدم مسارًا مطلقًا للتحكم الكامل
jdbc:derby:/path/to/pocketmoney;create=true
. - تحقق من أن البيانات يتم كتابة (أي أن الملفات تتغير).
تنشيط تسجيل ecliselink لمعرفة ما يحدث بالضبط باستخدام الخصائص التالية:
<properties> ... <property name="eclipselink.debug" value="ALL"/> <property name="eclipselink.logging.level" value="FINEST" /> <property name="eclipselink.logging.level.sql" value="FINEST" /> <property name="eclipselink.logging.level.cache" value="FINEST" /> </properties>
تحقق مزدوجًا من أنك تقوم بإلزام المعاملات بشكل مناسب (أنت تقول إن الكود الخاص بك يقوم بالأشياء ولكنك لا تظهر ذلك لذلك لا يزال هناك شك).
مراجع
لا تنتمي إلى StackOverflow