আমি এখানে পার্টিতে কয়েক বছর দেরি করেছি কিন্তু এইচএসকিউএলডিবি এবং একটি ডেস্কটপ জাভাএফএক্স প্রোগ্রামের সাথে হাইবারনেট ৩.৫.১ কাজ করার চেষ্টা করার সময় আমিও একই ব্যতিক্রম ঘটলাম। আমি এই থ্রেড এবং অনেক পরীক্ষা এবং ত্রুটির সাহায্য নিয়ে কাজ করেছি to দেখে মনে হচ্ছে আপনি সম্পূর্ণ বিভিন্ন সমস্যার জন্য এই ত্রুটিটি পেয়েছেন:
No Persistence provider for EntityManager named mick
হাইবারনেট টিউটোরিয়াল উদাহরণগুলি তৈরি করার চেষ্টা করেছি তবে আমি জাভা 10 ব্যবহার করছিলাম বলে আমি সেগুলি সহজেই তৈরি করতে এবং চালাতে সক্ষম হচ্ছিলাম না। আমি এটি ছেড়ে দিয়েছি, সত্যই এর সমস্যাগুলি ঠিক করতে সময় নষ্ট করতে চাই না। একটি মডিউল- ইন.ফো.জাভা ফাইল (জিগস) সেটআপ করা অন্য একটি হেয়ারবল যা অনেকে এখনও আবিষ্কার করতে পারেনি।
কিছুটা বিভ্রান্তিকর বিষয় হ'ল এই যে (নীচে) আমার বিল্ড.gradle ফাইলটিতে কেবলমাত্র দুটি ফাইলই দরকার ছিল। হাইবারনেট ডকুমেন্টেশন আপনাকে কীসের জারগুলি অন্তর্ভুক্ত করতে হবে তা সম্পর্কে পরিষ্কার নয়। সত্তা-পরিচালক বিভ্রান্তির কারণ হয়েছিলেন এবং সর্বশেষতম হাইবারনেট সংস্করণে আর প্রয়োজন হয় না এবং জাভ্যাক্স.পার্স্পিস্টন-এপিও হয় না। দ্রষ্টব্য, আমি এখানে জাভা 10 ব্যবহার করছি তাই আমাকে কিছু এক্সএমএল-বাইন্ড ত্রুটিগুলি পেতে, পাশাপাশি আমার মডিউল-ইনফো.জাভা ফাইলটিতে জাভা দৃistence়তা মডিউলটির জন্য একটি এন্ট্রি যুক্ত করতে জ্যাক্সবি-এপি অন্তর্ভুক্ত করতে হয়েছিল।
Build.gradle
// https://mvnrepository.com/artifact/org.hibernate/hibernate-core
compile('org.hibernate:hibernate-core:5.3.1.Final')
// https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api
compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
Module-info.java
// Used for HsqlDB - add the hibernate-core jar to build.gradle too
requires java.persistence;
হাইবারনেট 5.3.1 এর সাথে আপনার নীচে আপনার জেদ.এক্সএমএল ফাইল সরবরাহকারী নির্দিষ্ট করার দরকার নেই। যদি কোনও সরবরাহ না করা হয় তবে হাইবারনেট সরবরাহকারী ডিফল্টরূপে চয়ন করা হয়।
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
দৃistence়তা.এক্সএমএল ফাইলটি সঠিক ডিরেক্টরিতে অবস্থিত হওয়া উচিত:
src/main/resources/META-INF/persistence.xml
ইন্টেলিজ ডিবাগারে হাইবারনেট সোর্স কোডটি অতিক্রম করা, যেখানে এটি একটি উপভাষার সন্ধান করে, ঠিক একই ব্যতিক্রমটি ছুঁড়ে ফেলেছে, কারণ অধ্যবসায়.এক্সএমএল ফাইলটিতে অনুপস্থিত উপভাষার সম্পত্তি। আমি এটি যুক্ত করেছি (আপনার ডিবি টাইপের জন্য সঠিকটি যোগ করুন):
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
এর পরেও আমি একই ব্যতিক্রম পেয়েছি, সুতরাং ইন্টেলিজে আবার ডিবাগারের মধ্য দিয়ে পদক্ষেপ নেওয়ার পরে আমি প্রকাশিত পরীক্ষার সত্তাটি প্রকাশ করেছিলাম (সহজ পিতা-মাতার সন্তানের উদাহরণ) ওয়ানটোমনি, ম্যান্টিটো ওয়ান সম্পর্কের জন্য টীকা অনুপস্থিত। আমি এটি স্থির করেছি এবং ব্যতিক্রম চলে গেল এবং আমার সত্তা ঠিক আছে isted
এখানে আমার সম্পূর্ণ চূড়ান্ত দৃistence়তা। এক্সএমএল:
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="mick" transaction-type="RESOURCE_LOCAL">
<description>
Persistence unit for the JPA tutorial of the Hibernate Getting Started Guide
</description>
<!-- Provided in latest release of hibernate
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
-->
<class>com.micks.scenebuilderdemo.database.Parent</class>
<class>com.micks.scenebuilderdemo.database.Child</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbc.JDBCDriver"/>
<property name="javax.persistence.jdbc.url"
value="jdbc:hsqldb:file:./database/database;DB_CLOSE_DELAY=-1;MVCC=TRUE"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
</properties>
</persistence-unit>
</persistence>
আমি সম্ভবত এই রত্নটিতে প্রায় অর্ধেক দিন নষ্ট করেছি। আমার পরামর্শটি খুব সহজ শুরু করতে হবে - এক বা দুটি ক্ষেত্র সহ একক পরীক্ষার সত্তা, যেমন মনে হয় এই ব্যতিক্রমটির অনেকগুলি কারণ থাকতে পারে।