Tôi mới sử dụng JPA & Hibernate. Sau khi đọc một số tài liệu trực tuyến, bây giờ tôi đã hiểu Hibernate là gì và nó có thể được sử dụng như thế nào với JPA.javax.persistence.PersistenceException: Không có nhà cung cấp Persistence cho EntityManager có tên customerManager
Bây giờ, tôi đang cố gắng chạy JPA & Hibernate tutorial này. Tôi đã làm tất cả những gì họ đề cập trong hướng dẫn này.
Tôi không có Oracle DB, chỉ có MySQL. Vì vậy, tôi thực hiện một số thay đổi để persistence.xml
sử dụng sự hiểu biết của tôi về JPA & Hibernate (Tôi không biết nếu đó là đúng hay không ... Dường như với tôi nó được.)
Đây là tôi persistence.xml
<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_1_0.xsd" version="1.0">
<persistence-unit name="customerManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>Customer</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="1234"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/general"/>
<property name="hibernate.max_fetch_depth" value="3"/>
</properties>
</persistence-unit>
</persistence>
Nhưng tôi dường như không nhận được kết quả mà họ mô tả. Nó cho tôi:
Customer id before creation:null
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named customerManager
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at CustomerDAO.create(CustomerDAO.java:8)
at CustomerDAO.main(CustomerDAO.java:22)
Mọi đề xuất sẽ được đánh giá cao.
Cập nhật:
tôi đã thực hiện những thay đổi mà chúng tôi khuyến nghị để thực hiện. Nhưng, vẫn nhận được các dòng lỗi asme !!!
Họ không đề cập bất cứ điều gì về orm.xml trong hướng dẫn đó. nó có thể là một vấn đề gây ra !!!
Cám ơn bạn câu trả lời. Nhưng nó vẫn đưa ra thông báo lỗi tương tự. Ngoại lệ trong chủ đề "chính" javax.persistence.PersistenceException: Không có nhà cung cấp Persistence cho EntityManager có tên customerManager –
Một lần nữa cảm ơn bạn đã cập nhật. Tôi đã thêm log4j.jar vào thư mục lib như đã nói trong hướng dẫn. Cách để khởi tạo nó là gì? –
@MaRaVan Bạn cần đặt một 'log4j.properties' trên classpath. Hướng dẫn này cung cấp một ví dụ. –