2012-03-10 19 views
4

私はWebアプリケーションを開発しようとしています。私はPlayを作り始めました! Eclipseのフレームワークプロジェクト。 私はJPAを使用することを選択しました。私は既にデータベースを作成していたので、私はモデルクラスを自動生成する方法を探していました。 私はそれをファセット形式に変換し、Daliを使用してデータベースとのマッピングを作成しました。設定中、私はJPA実装を選択することを約束したので、ユーザーライブラリとしてEclipseLink 2.1.3 Heliosを選択しました。 すべてのjarファイルがプロジェクトに追加されています。EclipseLink:EntityManagerの永続性プロバイダがありません

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.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_2_0.xsd"> 
    <persistence-unit name="StudentApplication"> 
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
     <class>models.Grade</class> 
     <class>models.GradePK</class> 
     <class>models.Student</class> 
       <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/studentapplication"/> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.user" value="root"/> 
      <property name="javax.persistence.jdbc.password" value="root"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

私は今取得しています正確なエラーは次のとおりです: PersistenceException(ライン98の周り/app/controllers/class.javaで) 実行例外 同様のエラーを検索した後、私はへのpersistence.xmlを変更しました発生しました:EntityManagerの名前のJPA

なし永続プロバイダを私はapplication.confに私はDB接続を宣言していることに注意する必要があると私はアプリケーションを実行すると、私は

22入手:03:53084 INFOを〜JDBCに接続します。mysql:// localhost /をstudentapplication useUnicode = yesの& characterEncoding = UTF-8 & connectionCollat​​ion = utf8_general_ci

最後にファイル構造は次のとおりです。

-controllers
-models
-views
-meta-INF
| _persistense.xml

あなたが(私の担当者以外に)理解しているかもしれませんが、私たちでは初心者ですbアプリケーション開発、特にJPAで開発されました。私はどんな種類の助けにも感謝しています。不要な情報を投稿した場合、または必須の情報を見逃した場合は、事前にお詫びします。あなたの時間をありがとう。

トーマス

答えて

4

あなたののpersistence.xmlとは異なる名前で、アプリケーション内の永続ユニットを参照しているようです。永続ユニットの名前は、persistence.xmlで「StudentApplication」となります。ただし、アプリケーションで "jpa"というエラーが発生しています。

アプリケーション管理エンティティマネージャを使用している、あなたのアプリケーションでは、このような行が存在しなければならないと仮定すると:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa"); 

EntityManagerFactory emf = Persistence.createEntityManagerFactory("StudentApplication"); 
+0

マットに変更し、それを、私はあなたに感謝する方法を知ってはいけません。あなたは、Meditteraneanの小さな島のどこかの人を、本当に、本当に、本当に、本当に、本当に、同時に幸せに感じました。ありがとうございました。 –

+0

あなたの地域の天候は現在、ここバルティック海の気候よりもはるかに楽しいという事実によって、私はあなたを応援しましょう。どういたしまして! –

関連する問題