HibernatePersistence cannot be cast to javax.persistence.spi.PersistenceProvider

JBoss项目中配置了 persistence-unit ,按照步骤:

1.配置oracle-ds数据源,这个文件直接放到jboss-5.1.0.GA\server\default\deploy 下面:

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

<datasources>
  <local-tx-datasource>
    <jndi-name>DS.ejb.ora</jndi-name>
    <connection-url>jdbc:oracle:thin:@192.168.15.27:1521:orcl</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>orcl</user-name>
    <password>orcl</password>
    
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
        
      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
      <metadata>
         <type-mapping>Oracle10g</type-mapping>
      </metadata>
  </local-tx-datasource>

</datasources>

2.接着在EJB项目中的增加配置文件 /demo-ejb/src/main/resources/META-INF/persistence.xml,然后打包ejb.jar ,eclipse 配置到 jboss5中启动 。

<?xml version="1.0" encoding="UTF-8"?>
<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="data.ejb.ora" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<non-jta-data-source>java:/DS.ejb.ora</non-jta-data-source>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
			<property name="hibernate.jdbc.fetch_size" value="50" />
			<property name="hibernate.jdbc.batch_size" value="100" />
			<property name="hibernate.connection.release_mode" value="after_transaction" />
		</properties>
	</persistence-unit>
</persistence>

3.创建WEB项目,引入ejb.jar包,eclipse启动项目.

功能运行中一直出现报错 HibernatePersistence cannot be cast to  javax.persistence.spi.PersistenceProvider。

经过一番处理,最后发现 需要将EJB 和 web项目部署到同一个启动的JVM中,可以避免这个错误。

同一个启动的JVM中:我理解就是指加入相同启动路径下,例如都放到 jboss-5.1.0.GA\server\default\deploy 下进行启动。

如果需要设置启动顺序,可以参考下面的链接设置:https://blog.youkuaiyun.com/csdn122325735/article/details/128641529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值