问题
I've got two questions to ask regarding JBoss 5.1. We are in process of migrating from JBoss 4.2 to JBoss 5.1.
We are also using Java 1.6 and JPA 2.0 with Hibernate 3.6 as the provider.
My questions are:
- Is it possible to use Hibernate 3.6+ with JBoss 5.1. If yes, then how?
- What about JPA 2.0? I know that JBoss 5.1 comes with JPA 1.0 compatibility. Can we use JPA2?
And as we can not do any kind of configuration to the JBoss installation, all the fixes need to be done in our application only.
Thanks in advance, JassB
回答1:
Do this:
1) Add jboss-classloading.xml to /src/main/webapp (I am using Maven):
content:
<?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) Modify $JBOSS_INSTALL_DIRECTORY/jboss-as/server/$PROFILE/conf/bootstrap/deployers.xml, and add the following at the end:
<bean name="IgnoreFilesDeployer" class="org.jboss.deployers.vfs.spi.deployer.AbstractIgnoreFilesDeployer" </bean>
3) Create a file JBOSS-IGNORE.TXT in the META-INF folder with following content:
WEB-INF/classes/META-INF/persistence.xml
4) I've renamed my persistence.xml to spring-persistence.xml and added this file in the context.xml as:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceXmlLocation" value="classpath:/META-INF/spring-persistence.xml"/> .... </bean>
5) I;ve also modified the spring-persistence.xml (saved persistence_2_0.xsd in webapp\META-INF folder) as
<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>
回答2:
I just got the same problem today, and after trying many alternatives and asking everywhere, the answer is no
You cannot use JPA 2.0 with Jboss 5.1 (even more if you cannot change the server's configuration)
But I've seen hibernate3.X working on Jboss5.1, but never with the annotations features : only the old XML configuration way.
Now, in my point of view, you've got 2 solutions : either asking for server upgrades or changing your data acess system with the old fashion.
回答3:
I have the same problem, this link saved my life:
https://community.jboss.org/wiki/classloadingconfiguration
I suggest to see "Isolation with Overriding Server Classes"
来源:https://stackoverflow.com/questions/10140170/jboss-5-1-hibernate-with-jpa