cuốn sách gpt4 ai đã làm

Cách sử dụng TomEE với Hibernate

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:09:41 27 4
mua khóa gpt4 Nike

Tôi đã tạo một ứng dụng rất đơn giản có bối cảnh bền vững (ngủ đông với tư cách là nhà cung cấp) để đọc một số giá trị từ cơ sở dữ liệu. Tôi sử dụng Eclipse với Maven.

Đầu tiên, tôi nhận được

Nguyên nhân là do: org.apache.openejb.OpenEJBException: java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence không thể chuyển sang javax.persistence.spi.PersistenceProvider:

Sau đó theo chủ đề này http://openejb.979440.n4.nabble.com/problem-with-hibernate-persistence-provider-td980429.htmlTôi đã loại trừ hibernate-jpa-2.0-api. Bây giờ, sự phụ thuộc của tôi trông giống như


postgresql
postgresql
9.1-901.jdbc4



org.hibernate
người quản lý thực thể ngủ đông
4.1.3.Cuối cùng


org.hibernate.javax.persistence
ngủ đông-jpa-2.0-api



Bây giờ, tôi không biết tại sao...

Nguyên nhân là do: java.lang.ClassNotFoundException: org.hibernate.transaction.TransactionManagerLookup

Nhưng TransactionManagerLookup nằm ở chế độ ngủ đông-core. Xin vui lòng, ai có thể cho tôi biết cách kiểm tra pom.xml để sử dụng chế độ ngủ đông trong TomEE?

câu trả lời hay nhất

1. Sao chép .jars Hibernate cần thiết vào /lib

Theo tài liệu (http://tomee.apache.org/tomee-and-hibernate.html), những điều sau đây là đủ, trên thực tế chúng có hiệu quả với tôi:

/lib/antlr-2.7.7.jar
/lib/dom4j-1.6.1.jar
/lib/hibernate-commons-annotations-4.0.2.Final.jar
/lib/hibernate-core-4.2.21.Final.jar
/lib/hibernate-entitymanager-4.2.21.Final.jar
/lib/hibernate-validator-4.3.2.Final.jar
/lib/javassist-3.18.1-GA.jar
/lib/jboss-logging-3.1.0.GA.jar

tất cả những thứ này .jarsBao gồm trong bản tải xuống Hibernate ORM 4.2.x ( http://hibernate.org/orm/ ), ngoại trừ Trình xác thực Hibernate, là một bản tải xuống riêng biệt ( http://hibernate.org/validator/ ).

2. Chỉnh sửa pom.xml của bạn

sử dụng javaee-apiPhạm vi là cung cấp Các tạo phẩm của Maven Bây giờ bạn có thể sử dụng đặc tả JPA trong các dự án của mình. Tuy nhiên, nếu trước đây bạn đã sử dụng một số chức năng, lớp hoặc chú thích dành riêng cho Hibernate, bạn vẫn có thể pom.xml Hibernate được tham chiếu trong. Phù hợp với những phụ thuộc này:




org.apache.openejb
javaee-api
6.0-4
được cung cấp



org.hibernate
người quản lý thực thể ngủ đông
4.2.21.Cuối cùng
được cung cấp

3. Xác định kết nối cơ sở dữ liệu của bạn

biên tập /conf/tomee.xml :


JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql://localhost:3306/my_dbname?autoReconnect=true
Tên người dùng foo
Thanh mật khẩu
xác thựcQuery = CHỌN 1
JtaĐược quản lý đúng

Bạn cũng có thể đặt ở trên...được định nghĩa là WEB-INF/resources.xmlvà gửi nó cùng với đơn đăng ký của bạn:





4. Nguồn dữ liệu JTA

Bây giờ bạn đã hướng dẫn TomEE cách thiết lập kết nối, vui lòng /src/main/java/META-INF/persistence.xml Xác định nguồn dữ liệu JTA trong . :



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_2_0.xsd">


org.hibernate.ejb.HibernatePersistence
java:openejb/Resource/myJtaDatabase










5. Bắt đầu với JPA

获得 Trình quản lý thực thểTrong một CDI Bean hoặc EJB như thế này:

@PersistenceContext(unitName = "my_persistence_unit")
private EntityManager em;

ghi chú cuối cùng

phiên bản ngủ đông 4.3+

Tôi đang sử dụng Hibernate 4.2.21 (JPA 2.0, Java EE 6) và TomEE 1.7.2. Mọi TomEE 1.7.x, 1.6.x và 1.5.x đều hoạt động. Tuy nhiên, bạn không thể sử dụng Hibernate 4.3+ (JPA 2.1/Java EE 7) vì TomEE 1.7.x trở xuống chỉ hỗ trợ Java EE 6. Nếu bạn thực sự muốn sử dụng các tính năng của Java EE 7 với TomEE, bài đăng trên blog này có thể hữu ích: http://rmanibucau.wordpress.com/2013/07/19/little-tip-to-help-you-to-test-javaee-7-in-tomee-with-tomee-maven-plugin/

TomEE 1.5.x

TomEE 1.5.x đã có sẵn một javassist-.jar , vì vậy bạn không cần phải tạo một bản sao.

Về java - Cách sử dụng TomEE với Hibernate, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/10852035/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress