J2EE プログラミングの演習: Oracle のコンバーターの J2EE チュートリアルのサンプルのソース ファイルを変更し、JPA コードを入れて、GlassFish にデプロイしました。
既存の ANT 構成を使用して、正しくコンパイルおよびデプロイしますが、実行時にシステムがpersistence.xmlを見つけられません。
これは、展開されたファイルの構造です。問題を回避するために同じファイル xml をさらに配置しましたが、失敗しました。
server.logで、私は見つけます
原因: javax.persistence.PersistenceException: EntityManager という名前の test の持続性プロバイダーがありません
JPA は Glassfish でサポートされており (NoDefClassError の ClassnotFoundException を受け取っていません。クラスパスの問題はありません)、永続化の ID は一意であり、例外の原因となっている命令は次のとおりです。
Persistence.createEntityManagerFactory("test")
これは私のpersistence.xml構成です
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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">
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>converter2.ejb.Converter2Bean</class>
<class>entity.Order</class>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/JPA"/>
<property name="hibernate.connection.user" value="root"/>
<property name="hibernate.connection.driver" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.password" value="my_password"/>
<property name="default-schema" value="JPA"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.hbm2ddl.import_files" value="C:\\mysql\\crea.sql"/>
</properties>
</persistence-unit>
</persistence>
私は入れます:
- hibernate-testing.jar
- hibernate3.jar
- hibernate-jpa-2.0-api-1.0.1.Final.jar
ディレクトリ\glassfish3\glassfish\lib\dbで、Glassfish を再起動しました。どこが間違っていますか?