2009-12-03 40 views
6

Tôi có định nghĩa liên tục làm việc hoạt động trên các bài kiểm tra mức java. Bây giờ tôi muốn kết hợp nó vào một ứng dụng web xác định kết nối cơ sở dữ liệu như JNDI trong context.xml. Tôi cần phải thay đổi gì để làm cho nó hoạt động với JNDI thay vì persistence.xml hoặc ít nhất có được thông tin từ đó?Cách định cấu hình JPA để sử dụng JNDI?

+0

Bạn có quản lý để làm điều đó không? – test30

+1

Có nhưng câu trả lời của tôi với các chi tiết đã bị xóa không có lý do chính đáng. Nó đi xuống để sử dụng các nguồn dữ liệu JTA. Xem http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html này. – javydreamercsw

Trả lời

1

persistence.xml bạn đầu nên một cái gì đó như thế này (sử dụng EclipseLink như thực hiện), đối với một jdbc/Myname tên JNDI:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> 
    <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL">  
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <non-jta-data-source>java:comp/env/jdbc/MYNAME</non-jta-data-source> 
    <class>org.test.entity.MyEntity</class> 
... 
    </persistence-unit> 
<persistence> 

Tất nhiên bạn nên thiết lập cấu hình phù hợp cho môi trường của bạn. Trong ví dụ này, tôi sử dụng không phải JTA DataSource: theo một trong các nhận xét của bạn, có vẻ như DataSource của bạn không tuân thủ JTA. Đối với Hibernate, nhà cung cấp kiên trì phải khác nhau.

0

bạn phải sử dụng persistence.xml khi bạn đang sử dụng JPA. vì JPA phải kiểm tra persistence.xml. vì vậy bạn có thể sử dụng persistence.xml và jndi cùng một lúc.

Các vấn đề liên quan