Tidak ada penyedia Persistence untuk EntityManager yang bernama


148

Saya punya saya persistence.xmldengan nama yang sama menggunakan di TopLinkbawah META-INFdirektori. Lalu, saya minta kode saya memanggilnya dengan:

EntityManagerFactory emfdb = Persistence.createEntityManagerFactory("agisdb");

Namun, saya mendapat pesan kesalahan berikut:

2009-07-21 09: 22: 41.018 [main] ERROR - Tidak ada penyedia Kegigihan untuk EntityManager bernama agisdb
javax.persistence.PersistenceException: Tidak ada penyedia Persistence untuk EntityManager bernama agisdb
    di javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:89)
    di javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:60)

Ini dia persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="agisdb">
        <class>com.agis.livedb.domain.AddressEntity</class>
        <class>com.agis.livedb.domain.TrafficCameraEntity</class>
        <class>com.agis.livedb.domain.TrafficPhotoEntity</class>
        <class>com.agis.livedb.domain.TrafficReportEntity</class>
        <properties>
            <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/agisdb"/>
            <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="toplink.jdbc.user" value="root"/>
            <property name="toplink.jdbc.password" value="password"/>
        </properties>
    </persistence-unit>
</persistence>

Seharusnya di classpath. Namun, saya mendapat kesalahan di atas.

Jawaban:


85

Setelah itu <persistence-unit name="agisdb">, tentukan nama penyedia ketekunan:

<provider>org.hibernate.ejb.HibernatePersistence</provider>

5
Saya menggunakan Derby dan itu tidak perlu untuk menentukan ini (saya lakukan, tapi kemudian menghapusnya setelah saya menyelesaikan masalah, hanya untuk memastikan). Saya akhirnya mendapatkan kesalahan karena persistence.xml tidak ada di folder src / META-INF, meskipun sudah ada di folder di jalur sumber Eclipse untuk proyek tersebut. Saya berpikir di suatu tempat itu terprogram untuk berada di src / *
Fuhrmanator

6
ini tidak diperlukan dalam kasus saya, tetapi classpathing hibernate-entitasmanager * .jar seperti yang dinyatakan dalam jawaban Ualter Jr di bawah ini. Saya menggunakan aplikasi GWT mandiri dengan hibernate-core-4.3.7.jar , hibernate-entitasmanager-4.3.7.Final.jar dan hibernate-jpa-2.1-api-1.0.0.jar .
Andreas Dietrich

3
Sama dengan @AndreasDietrich, setelah mengganti artefak "hibernate-core-4.3.10" dengan "hibernate-entitasmanager-4.3.10" di pom.xml (saya menggunakan maven), kesalahan ini hilang. Sebenarnya, hibernate.org/orm/downloads mengatakan bahwa Anda harus menggunakan "hibernate-entitasmanager-4.3.10" untuk JPA.
Hong

1
Terlepas dari ini, saya juga harus pindah dari hibernate-entitymanager-3.4.0.GA ke 3.6.10.Final . Untuk berjaga-jaga jika Anda masih memiliki basis kode warisan menggunakan Hibernate 3.
Javi Vazquez

5
Saya agak terkejut Anda tidak mengalami masalah dengan Anda <provider/>, saat menggunakan hibernate-4 Anda harus mengubah penyedia Anda <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>, lihat stackoverflow.com/questions/23041964/… .
Rob

86

Taruh "hibernate-entitymanager.jar"di classpath aplikasi.
Untuk versi yang lebih baru, Anda harus menggunakan "hibernate-core.jar"bukannya yang usanghibernate-entitymanager

Jika Anda menjalankan beberapa IDE, seperti Eclipse :Project Properties -> Java Build Path -> Libraries.

Kalau tidak, letakkan di /libaplikasi Anda.


3
Butuh waktu beberapa jam untuk mencari tahu inilah penyebabnya. Untuk orang lain yang mencari stoples berdarah ini, dalam kasus Hibernate 4.1.3, itu dalam hibernate-release-4.1.3.Final \ lib \ jpa \ hibernate-entitasmanager-4.1.3.Final.jar
Vedran

7
Dan bagi kita yang menggunakan Maven, itu akan menjadi org.hibernateartefak groupidhibernate-entitymanager
Simon Forsberg

2
Sudah eclipselink.jar bagi saya, yang hilang di jalan. Tidak hibernasi * something.jar di jalan sama sekali.
pengguna tidak dikenal

3
Hanya menghabiskan beberapa jam untuk mengonfirmasi kegigihan. Xml ada di jalur kelas, dan membandingkan setiap aspek proyek yang berhasil dan proyek yang tidak berhasil. Pesan kesalahan yang sangat menyesatkan karena itu bisa terjadi jika persistence.xml hilang, jika PU dengan nama itu hilang, atau tampaknya jika stoples hibernasi hilang!
David Mann

Bagi saya itu org.eclipse.persistence.jpadengan tes ruang lingkup.
Marek

67

Pastikan persistence.xmlfile tersebut ada di direktori:<webroot>/WEB-INF/classes/META-INF


8
ini tidak berhasil untuk saya, membuat unit Persistence tidak ditemukan: kesalahan 'nol'. Memindahkannya kembali ke /src/main/resources/META-INF/persistence.xml
tomasb

1
Saya kira ini berlaku untuk mereka yang menggunakan toplink (atau hal-hal terkait web lainnya), untuk semua orang, jawaban lain di sini mungkin lebih tepat.
Simon Forsberg

2
Terima kasih, bagi saya jalannya adalah target / kelas / META-INF
Frizz1977

Sama, untuk beberapa alasan aneh itu perlu berada di direktori META-INF, jika tidak tidak akan berhasil ...
Thomas

17

Saya membutuhkan ini di file pom.xml saya:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.2.6.Final</version>
</dependency>

Bekerja untuk versi 4.3.11.
petertc

Sudah usang, lihat di atas. Gunakan hibernate-core sebagai gantinya.
foo

16

Menghadapi masalah yang sama dan tidak bisa menemukan solusi untuk waktu yang cukup lama. Dalam kasus saya, itu membantu untuk menggantikan

<provider>org.hibernate.ejb.HibernatePersistence</provider>

dengan

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

Mengambil solusi dari sini


2
Sedang memutakhirkan dari Hibernate 4.3.5 ke 5.2.12 dan perubahan nama penyedia ini memperbaiki masalah bagi saya. Pengaturan itu muncul untuk memungkinkan JPA untuk menggunakan file inti .jar bukan entitas-palungan .jar yang ditampilkan sebagai usang pada repositori pusat Maven. Terima kasih banyak sudah berbagi.
joshpt

10

Ada hal lain: Jika Anda menghadapi masalah ini dalam lingkungan Eclipse RCP, Anda mungkin harus mengubah generasi Pabrik dari Persistence.createEntityManagerFactorymenjadinew PersistenceProvider().createEntityManagerFactory

lihat ECF untuk diskusi terperinci tentang ini.


Ini adalah masalah yang tepat saya alami dengan org.eclipse.persistence.jpa 2.4.0. Saya benar-benar menghabiskan 2 jam mencabut rambut saya bertanya-tanya mengapa itu tidak dapat menemukan persence.xml saya. Semua contoh tampaknya tidak memasukkan ini. oh well ... banyak terima kasih banyak!
Mark Miller

9

Mungkin Anda mendefinisikan satu penyedia seperti <provider>org.hibernate.ejb.HibernatePersistence</provider>tetapi merujuk yang lain ke dalam toples. Itu terjadi pada saya: penyedia persistence.xml saya adalah openjpa tapi saya menggunakan eclipselink di classpath saya. Semoga bantuan ini!


7

Saran cepat:

  • periksa apakah persistence.xml ada di classpath Anda
  • periksa apakah penyedia hibernate ada di classpath Anda

Dengan menggunakan JPA di aplikasi mandiri (di luar JavaEE), penyedia ketekunan perlu ditentukan di suatu tempat. Ini bisa dilakukan dengan dua cara yang saya tahu:

Dalam kasus saya, saya menemukan bahwa karena kesalahan konfigurasi pakar, hibernate-entitasmanager jar tidak dimasukkan sebagai dependensi, bahkan jika itu adalah dependensi sementara dari modul lain.


/ facepalm - Saya lupa menambahkan ketergantungan maven untuk penyedia hibernate. Terima kasih!
jgitter

5

Jika Anda menggunakan Eclipse pastikan bahwa pola pengecualian tidak menghapus Anda persistence.xmldari folder sumber di jalur pembuatan.

  1. Pergi ke Properties -> Java Build Path -> tab Source
  2. Periksa pola pengecualian Anda yang berlokasi di
    MyProject/src/main/java -> Excluded: <your_pattern>
    simpul pohon
  3. Secara opsional, atur Excluded: (None)dengan memilih simpul dan mengklik tombol Edit ... di sebelah kiri.

Memecahkan masalah saya. Pola yang dikecualikan diatur ke "**" setelah pengambilan / tarik. Saya tidak tahu mengapa ...
Jocelyn

5

Saya beberapa tahun terlambat ke pesta di sini tapi saya mendapatkan pengecualian yang sama ketika mencoba untuk membuat Hibernate 3.5.1 bekerja dengan HSQLDB dan program JavaFX desktop. Saya membuatnya bekerja dengan bantuan utas ini dan banyak trial and error. Tampaknya Anda mendapatkan kesalahan ini untuk berbagai macam masalah:

No Persistence provider for EntityManager named mick

Saya mencoba membuat contoh tutorial hibernate tetapi karena saya menggunakan Java 10, saya tidak bisa membuatnya untuk dibangun dan dijalankan dengan mudah. Saya menyerah pada hal itu, tidak benar-benar ingin membuang waktu untuk memperbaiki masalahnya. Menyiapkan file module-info.java (Jigsaw) adalah hairball lain yang belum ditemukan banyak orang.

Agak membingungkan adalah bahwa ini (di bawah) adalah dua file yang saya butuhkan dalam file build.gradle saya. Dokumentasi Hibernate tidak jelas tentang guci mana yang perlu Anda sertakan. Entity-manager menyebabkan kebingungan dan tidak lagi diperlukan dalam versi Hibernate terbaru, dan begitu pula javax.persistence-api. Catatan, saya menggunakan Java 10 di sini jadi saya harus memasukkan jaxb-api, untuk mengatasi beberapa kesalahan xml-bind, serta menambahkan entri untuk modul persistensi java di file module-info.java saya.

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;

Dengan hibernate 5.3.1 Anda tidak perlu menentukan penyedia, di bawah ini, dalam file persistence.xml Anda. Jika tidak disediakan penyedia Hibernate dipilih secara default.

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

File persistence.xml harus berada di direktori yang benar sehingga:

src/main/resources/META-INF/persistence.xml

Melangkah melalui kode sumber hibernate di debugger Intellij, di mana ia memeriksa dialek, juga melemparkan pengecualian yang sama persis, karena properti dialek yang hilang dalam file persistence.xml. Saya menambahkan ini (tambahkan yang benar untuk tipe DB Anda):

<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>

Saya masih mendapatkan pengecualian yang sama setelah ini, jadi melangkah melalui debugger lagi di Intellij mengungkapkan entitas tes yang saya coba bertahan (contoh orangtua-anak sederhana) telah kehilangan penjelasan untuk hubungan OneToMany, ManyToOne. Saya memperbaikinya dan pengecualian hilang dan entitas saya bertahan ok.

Inilah kegigihan akhir lengkap saya.xml:

<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>

Saya mungkin menghabiskan sekitar setengah hari untuk permata ini. Saran saya adalah memulai dengan sangat sederhana - entitas uji tunggal dengan satu atau dua bidang, karena sepertinya pengecualian ini dapat memiliki banyak penyebab.


Terima kasih banyak untuk detail konfigurasi. Sangat membantu menyelesaikannya.
Doogle

4

Kasing sudut: jika Anda menggunakan m2Eclipse, maka secara otomatis dimasukkan ke dalam folder sumber daya Anda. Kemudian ketika Anda mencoba menjalankan tes di dalam gerhana, ketiadaan persistensi berikutnya. Xml akan menghasilkan kesalahan ini.


3

Pastikan Anda telah membuat file persistence.xml di bawah folder 'src'. Saya buat di bawah folder proyek dan itu adalah masalah saya.


Eclipse 4.4.0 tidak ingin membuat folder SRC, jadi saya meletakkan META-INF di tingkat atas, berpikir persistence.xml berada di classpath akan memadai. TIDAK! Saya harus membuat secara manual src / META-INF (dalam sistem operasi) dan memindahkan file persistence.xml dengan tangan. Mungkin mungkin untuk melakukan ini di Eclipse, tetapi saya tidak bisa mengetahuinya.
Fuhrmanator


2

Itu terjadi ketika manajer entitas mencoba menunjuk ke banyak unit kegigihan. Lakukan langkah-langkah berikut:

  1. buka file terkait di editor Anda (asalkan proyek Anda telah ditutup dalam IDE Anda)
  2. hapus semua kode terkait manajer persistensi dan entitas
  3. simpan file
  4. buka proyek di IDE Anda
  5. sekarang ikat db atau tabel pilihan anda

2

Saya menghadapi masalah yang sama, tetapi pada EclipseLink versi 2.5.0 .

Saya memecahkan masalah saya dengan menambahkan lagi file jar yang seharusnya ( javax.persistence_2.1.0.v201304241213.jar.jar );

Jars diperlukan:
- javax.persistence_2.1.0.v201304241213.jar
- eclipselink.jar
- jdbc.jar (tergantung pada database yang digunakan).

Saya harap ini membantu.


2

Saya juga punya kesalahan ini tetapi masalahnya adalah namespace uri di persistence.xml .

Saya diganti http://xmlns.jcp.org/xml/ns/persistencemenjadihttp://java.sun.com/xml/ns/persistence dan versi 2.1 ke 2.0.

Sekarang bekerja.


Itulah tepatnya yang terjadi pada saya menggunakan Tomcat .. Saya baru saja menambahkan header lengkap untuk mengklarifikasi untuk pengguna baru
childno͡.de

2

Anda perlu menambahkan hibernate-entitasmanager-x.jar di classpath.

Di Hibernate 4.x, jika toples hadir, maka tidak perlu menambahkan org.hibernate.ejb.HibernatePersistence dalam file persistence.xml.


1

Pertanyaannya sudah dijawab, tetapi hanya ingin mengirim tip yang menahan saya. Pengecualian ini dilempar setelah kesalahan sebelumnya. Saya mendapatkan ini:

property toplink.platform.class.name is deprecated, property toplink.target-database should be used instead.

Meskipun saya telah mengubah persistence.xml untuk memasukkan nama properti baru:

<property name="toplink.target-database" value="oracle.toplink.platform.database.oracle.Oracle10Platform"/>

Mengikuti pesan tentang nama properti yang sudah tidak digunakan lagi, saya mendapatkan PersistenceException yang sama seperti di atas dan serangkaian pengecualian lainnya. Tip saya: pastikan untuk memeriksa awal sosis pengecualian.

Tampaknya ada bug di Glassfish v2.1.1 di mana redeploys atau undeploys dan deploys tidak memperbarui persistence.xml, yang sedang di-cache di suatu tempat. Saya harus me-restart server dan kemudian berhasil.



1

Anda memerlukan file jar berikut di classpath:

  1. antlr-2.7.6.jar
  2. commons-collections-3.1.jar
  3. dom4j-1.6.1.jar
  4. hibernate-commons-annotations-4.0.1.Final.jar
  5. hibernate-core-4.0.1.Final.jar
  6. hibernate-entitymanager.jar
  7. hibernate-jpa-2.0-api-1.0.0.Final.jar
  8. javassist-3.9.0.jar
  9. jboss-logging-3.1.1.GA.jar
  10. jta-1.1.jar
  11. slf4j-api-1.5.8.jar
  12. xxx-jdbc-driver.jar


1

Hibernate 5.2.5
Jar File Diperlukan di jalur kelas. Ini berada di dalam folder Hibernate 5.2.5 Final yang diperlukan. Itu dapat diunduh dari http://hibernate.org/orm/downloads/

  1. antlr-2.7.7
  2. cdi-api-1.1
  3. teman sekelas-1.3.0
  4. dom4j-1.6.1
  5. el-api-2.2
  6. geronimo-jta_1.1_spec-1.1.1
  7. hibernate-commons-annotation-5.0.1.Final
  8. hibernate-core-5.2.5. Terakhir
  9. hibernate-jpa-2.1-api-1.0.0.Final
  10. jandex-2.0.3.Final
  11. javassist-3.20.0-GA
  12. javax.inject-1
  13. jboss-interceptor-api_1.1_spec-1.0.0.Beta1
  14. jboss-logging-3.3.0.Final
  15. jsr250-api-1.0

Buat file xml "persistence.xml" di

Proyek Anda / src / META-INF / persistence.xml

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>

<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="sample">

    <class>org.pramod.data.object.UserDetail</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/hibernate_project"/>
        <property name="hibernate.connection.username" value="root"/>
        <property name="hibernate.connection.password" value="root"/>
        <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.format_sql" value="false"/>

        <property name="hibernate.cache.use_second_level_cache" value="false"/>

        <property name="hibernate.archive.autodetection" value="true"/>
    </properties>
</persistence-unit>

  1. harap catat informasi yang disebutkan dalam tag <persistent> dan versi harus 2.1.
  2. harap perhatikan tag nama <persistance-unit>, nama disebutkan sebagai "contoh" . Nama ini harus digunakan sama persis saat memuat

EntityManagerFactor = Persistance.createEntityManagerFactory ("sample"); . "sample" dapat diubah sesuai dengan konvensi penamaan Anda.

Sekarang buat kelas Entity. dengan nama sesuai contoh saya UserDetail, dalam paket org.pramod.data.object

UserDetail.java

package org.pramod.data.object;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "user_detail")
public class UserDetail {
    @Id
    @Column(name="user_id")
    private int id;
    @Column(name="user_name")
    private String userName;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }   
    @Override
    public String toString() {
       return "UserDetail [id=" + id + ", userName=" + userName + "]";
    }
}

Sekarang buat kelas dengan metode utama.

HibernateTest.java

package org.pramod.hibernate;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.pramod.data.object.UserDetail;

public class HibernateTest {
    private static EntityManagerFactory entityManagerFactory;

    public static void main(String[] args)  {
        UserDetail user = new UserDetail();
        user.setId(1);
        user.setUserName("Pramod Sharma");

        try {
            entityManagerFactory = Persistence.createEntityManagerFactory("sample");
            EntityManager entityManager = entityManagerFactory.createEntityManager();
            entityManager.getTransaction().begin();
            entityManager.persist( user );
            entityManager.getTransaction().commit();
            System.out.println("successfull");
            entityManager.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

Output akan menjadi

UserDetail [id=1, userName=Pramod Sharma]
Hibernate: drop table if exists user_details
Hibernate: create table user_details (user_id integer not null, user_name varchar(255), primary key (user_id))
Hibernate: insert into user_details (user_name, user_id) values (?, ?)
successfull

1

Dalam kasus saya, sebelumnya saya menggunakan ide untuk menghasilkan entitas dengan skema database, dan persistence.xmlsecara otomatis dihasilkan src/main/java/META-INF, dan menurut https://stackoverflow.com/a/23890419/10701129 , saya memindahkannya ke src/main/resources/META-INF, juga menandai META-INF sebagai akar sumber. Ini bekerja untuk saya.

Tetapi hanya dengan menandai META-INF asli (yaitu, src / main / java / META-INF) sebagai sumber root, tidak berfungsi, yang membingungkan saya.

dan ini adalah struktur: masukkan deskripsi gambar di sini


0

Jika ada nama yang berbeda di Persistence.createEntityManagerFactory("JPAService")dalam kelas yang berbeda dari Anda mendapatkan kesalahan. Dengan refactoring dimungkinkan untuk mendapatkan nama yang berbeda dalam kasus saya. Dalam satu kelas yang dihasilkan Persistence.createEntityManagerFactory("JPAService")secara otomatis private void initComponents(), kelas ContactsTable berbeda dari Persistence.createEntityManagerFactory("JPAServiceExtended")di kelas DBManager.


0

Milik saya diselesaikan dengan menambahkan info dalam persistence.xml misalnya <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>dan kemudian memastikan Anda memiliki perpustakaan di classpath misalnya di Maven tambahkan ketergantungan seperti

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>eclipselink</artifactId>
  <version>2.5.0</version>
</dependency>

0

Verifikasi nama unit yang terus-menerus

<persistence-unit name="com.myapp.model.jpa"
    transaction-type="RESOURCE_LOCAL">    
public static final String PERSISTENCE_UNIT_NAME = "com.myapp.model.jpa";
Persistence.createEntityManagerFactory(**PERSISTENCE_UNIT_NAME**);

0

Dalam kasus saya ini adalah tentang kesalahan dalam dua properti seperti di bawah ini. Ketika saya mengubah mereka 'No Persistence provider untuk EntityManager yang bernama' dihilangkan.

Jadi, Anda dapat mencoba menguji koneksi dengan properti Anda untuk memeriksa apakah semuanya sudah benar.

<property name="javax.persistence.jdbc.url" value="...”/>
<property name="javax.persistence.jdbc.password" value="...”/>

Kesalahan aneh, saya benar-benar bingung karenanya.


0

Coba juga salin persistence.xml secara manual ke folder <project root>\bin\META-INF. Ini memperbaiki masalah di Eclipse Neon dengan EclipseLink 2.5.2menggunakan proyek plug-in yang sederhana.


0

Punya masalah yang sama, tetapi ini sebenarnya bekerja untuk saya:

mvn install -e  -Dmaven.repo.local=$WORKSPACE/.repository.

NB: Perintah pakar di atas akan menginstal ulang semua dependensi proyek Anda dari awal. Konsol Anda akan dimuat dengan log verbose karena permintaan jaringan dibuat oleh pakar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.