2012-04-13 47 views
6

Tôi có hai câu hỏi để hỏi về JBoss 5.1. Chúng tôi đang trong quá trình di chuyển từ JBoss 4.2 sang JBoss 5.1.JBoss 5.1: Hibernate với JPA

Chúng tôi cũng đang sử dụng Java 1.6 và JPA 2.0 với Hibernate 3.6 làm nhà cung cấp.

Câu hỏi của tôi là:

  1. Có thể sử dụng Hibernate 3.6+ với JBoss 5.1. Nếu có, thì làm thế nào?
  2. Còn JPA 2.0 thì sao? Tôi biết rằng JBoss 5.1 đi kèm với khả năng tương thích JPA 1.0. Chúng ta có thể sử dụng JPA2 không?

Và vì chúng tôi không thể thực hiện bất kỳ loại cấu hình nào để cài đặt JBoss, tất cả các bản sửa lỗi chỉ cần được thực hiện trong ứng dụng của chúng tôi.

Cảm ơn trước, JassB

Trả lời

2

Làm điều này:

1) Thêm JBoss-classloading.xml đến/src/main/webapp (Tôi đang sử dụng Maven):

nội dung:

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

<classloading xmlns="urn:jboss:classloading:1.0" 

     domain="$UNIQUE_DOMAIN_NAME" 

     export-all="NON_EMPTY" 

     import-all="false" 

     parent-first="false"> 

</classloading> 

2) Sửa đổi $ JBOSS_INSTALL_DIRECTORY/jboss-as/server/$ PROFILE/conf/bootstrap/deployers.xml và thêm thông tin sau vào cuối:

<bean name="IgnoreFilesDeployer" 

class="org.jboss.deployers.vfs.spi.deployer.AbstractIgnoreFilesDeployer" 



</bean> 

3) Tạo một file JBOSS-IGNORE.TXT trong thư mục META-INF với nội dung sau:

WEB-INF/classes/META-INF/persistence.xml

4) tôi đã đổi tên persistence.xml tôi để mùa xuân-persistence.xml và thêm vào tập tin này trong context.xml như:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="persistenceXmlLocation" value="classpath:/META-INF/spring-persistence.xml"/> 
      .... 
</bean> 

5) Tôi cũng đã sửa đổi spring-persistence.xml (lưu persistence_2_0.xsd trong webapp \ thư mục META-INF) như

<persistence version="2.0" 
xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="file:///persistence_2_0.xsd 
     http://java.sun.com/xml/ns/persistence"> 
.... 
</persistence> 
+0

Tiếp theo, tôi nhận được một ClassNotFoundException về rg.jboss.webbeans.integration.deployer.env.WebBeansBootstrapDeployer khá lạ, vì nó là một lớp có trong jBoss 5.1. –

3

Tôi chỉ có cùng một vấn đề ngày hôm nay, và sau khi thử nhiều lựa chọn thay thế và yêu cầu ở khắp mọi nơi, câu trả lời là không

Bạn không thể sử dụng JPA 2.0 với Jboss 5.1 (thậm chí nhiều hơn nếu bạn không thể thay đổi cấu hình của máy chủ)

Nhưng tôi đã thấy hibernate3.X hoạt động trên Jboss5.1, nhưng không bao giờ có các tính năng chú thích: chỉ có cấu hình XML cũ.

Bây giờ, theo quan điểm của tôi, bạn có 2 giải pháp: yêu cầu nâng cấp máy chủ hoặc thay đổi hệ thống truy cập dữ liệu của bạn theo kiểu cũ.

+1

cảm ơn, tôi đã thực hiện JPA 2.0 để làm việc với JBoss 5.1 – JazB

+0

Có ai đó có thể tìm ra cách thực sự tích hợp JPA 2.0 hoặc câu trả lời này có đúng không? –

+0

Trong trường hợp của tôi, máy chủ đã được nâng cấp trong sản xuất kể từ đó: không còn vấn đề gì nữa! – antoine

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