سؤال

أنا ذاهب المكسرات يحاول بسيط للكشف والتدخل على سبيل المثال العمل.أنا عالقة على org.hibernate.tool.ant.EnversHibernateToolTask — يبدو أنني أخيرا حصلت على جميع ملفات jar أنا في حاجة ، ولكن الآن أحصل على رسالة الخطأ

[hibernatetool] Persistence unit not found: 'ConsolePU'.

BUILD FAILED
C:\deka\proj\java\test-database\build.xml:61: Persistence unit not found: 'ConsolePU'.

بقدر ما أستطيع أن أقول, استمرار الوحدات المرتبطة JPA persistence.xml ملفات.ولكن أنا لا تستخدم persistence.xml الملف ؛ أنا باستخدام hibernate.cfg.xml — ولكن للكشف والتدخل سبيل المثال لديها <jpaconfiguration> في النمل المهمة:

<hibernatetool destdir=".">
        <classpath>
             <fileset dir="src/">
                  <include name="**/*.hbm.xml"/>
            </fileset>

            <path location="${buildDir}" />
        </classpath>
    <jpaconfiguration persistenceunit="ConsolePU" />
    <hbm2ddl
        drop="false"
        create="true"
        export="false"
        outputfilename="versioning-ddl.sql"
        delimiter=";"
        format="true"/>
    </hibernatetool>

هل هناك شيء يمكنني استبدالها للحصول على العمل مع hibernate.cfg.xml الملف ؟ يبدو أن هناك صفر وثائق حول كيفية الحصول على كل هذه الأشياء تعمل بشكل صحيح.

تحرير: حسنا ، إذا كانت المشكلة الرئيسية لم أفهم hibernatetool الخيارات وما كان من المناسب بلدي التطبيق.لم أجد السبات النمل مستندات, لحسن الحظ.شكراالآن لدي مشكلة جديدة:أنا باستخدام التعليقات التوضيحية ، ولكن لدي أيضا مجموعة hibernate.cfg.xml عن خصائص الإعدادات.على hibernatetool المهمة فقط يسمح لي بتشغيل إما <configuration /> أو <annotationconfiguration /> ليس على حد سواء ، حتى <configuration /> لن تعمل منذ كنت بالفعل الشروح فعل الأشياء.كيف يمكنني الهجرة من بلدي إعدادات الخاصية من hibernate.cfg.xml ملف إلى شروح?

تحرير: نعم ، لم أدرك أنك فقط تفعل:

<annotationconfiguration configurationfile="...filename..." />

في hibernatetool المهمة مستندات.

هل كانت مفيدة؟

المحلول

محل <jpaconfiguration /> مع <configuration /> الوسم ، كما هو مفصل في السبات أدوات مستندات:

<configuration
    configurationfile="hibernate.cfg.xml"
    propertyfile="hibernate.properties"
    entityresolver="EntityResolver classname"
    namingstrategy="NamingStrategy classname">

نصائح أخرى

فقط تعطيك مستوى عال prespective.JPA هو المعيار استمرار API التي توفرها الشمس.
يمكنك استخدام أي إطار استمرار مثل السبات ، TopLink,JDO إلخ استمرار مزود مع JPA.

لذا فقط لجعل الامور واضحة

التعليمات البرمجية الخاصة بك -----> JPA ----->استمرار مزود(السبات).

سوف يكون من الجيد استخدام JPA كما هو مكتبة القياسية.

فما هو استمرار الخاص بك موفر المعلومات ينبغي إلا أن يكون معروفا JPA وليس الكود الخاص بك محددة XML.

هذه هي الطريقة الخاصة بك persistence.xml سوف تبدو مثل

<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="QuarkFrameworkPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
</persistence-unit>

و التطبيق الخاص بك السياق تبدو مثل (تعتمد على JPA , لا أذكر من السبات)

    <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    p:driverClassName="com.mysql.jdbc.Driver" p:url="${db.url}" />




<!-- ADD PERSISTENCE SUPPORT HERE (jpa,etc) -->

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="QuarkFrameworkPU" />
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
        </bean>
    </property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
    <property name="dataSource" ref="dataSource" />
</bean>

عليك أن تبدأ في البداية: الشمس JPA التعليمي.

هذا قد يساعد أيضا.

تحتاج إلى إنشاء persistence.xml ووضعها في META-INF دليل للمشروع الخاص بك.

السبات هو واحد ملموسة لتنفيذ خطة العمل ، ولكن هناك آخرون (على سبيل المثال ، JDO).

تحتاج annotationconfiguration لا jpaconfiguration.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top