2012-08-30 12 views
5

最初にクラスを登録することはできません、この質問は似くらいに見えるかもしれません: Play Framework: PersistenceException: The type is not a registered entity? (Ebean)が、それは、私は、エンティティを保存しようとしているが、それだ...プレイフレームワーク:2.0.2 PersistenceException:Ebeanサーバー内のすべての

ではありませんテンプレートをレンダリングすることさえできません.Playを再起動すると、そのテンプレートにエラーが表示されます。 もちろん、アプリはコンパイルされます。

私がプレイしてEBean使用するすべての手順を行ってきた:@Entity

  • 注釈付きモデル(javax.persistence.Entity)
  • モデルがモデル(play.db.ebean.Model
  • Ebeanがで有効である拡張私application.confebean.default="models.*"(私のクラスはmodelsパッケージ内にある)

任意の提案ですか?私ができるテスト?確認するものは? が公正であるために、stackoverflowのは...事前に

おかげで、

完全なスタックトレース私の最後の手段です:ログから

play.api.Configuration$$anon$1: Configuration error [Cannot register class [models.Producer] in Ebean server] 
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1.jar:2.0.2] 
    at play.Configuration.reportError(Configuration.java:119) ~[play_2.9.1.jar:2.0.2] 
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:71) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
Caused by: java.lang.ExceptionInInitializerError: null 
    at java.lang.Class.forName0(Native Method) ~[na:1.7.0_02] 
    at java.lang.Class.forName(Class.java:264) ~[na:1.7.0_02] 
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:69) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2] 
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.3] 
Caused by: java.lang.RuntimeException: DataSource user is null? 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:198) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.getDataSource(DataSourceManager.java:210) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceGlobalManager.getDataSource(DataSourceGlobalManager.java:63) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:427) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.setDataSource(DefaultServerFactory.java:388) ~[ebean.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:168) ~[ebean.jar:na] 
+1

同じ問題が発生します。\ thisは私を夢中にしています –

+0

私にとっては、再生プロジェクトのディレクトリが変更されるたびに発生します。どこかで、コンパイルされたコードから再生が実行されるディレクトリをハードコードします。 –

答えて

-1

、あなたがデータソースのユーザーを設定する必要があることと思われます:

Caused by: java.lang.RuntimeException: DataSource user is null? 

あなたは編集でのconf/application.conファイルを注ぐことを行うことができます

db.default.driver=org.h2.Driver 
db.default.url="jdbc:h2:mem:DB_NAME" 
db.default.user=sa  <-- HERE !! 
db.default.password="" 
db.default.logStatements=true 
+1

こんにちは、お返事ありがとうございますが、それは...私のデータベースはapplication.confに設定されていませんでした。問題が何だったのか分かりません。新鮮なアプリケーションを使い始めたときに、遅くなっていました(一度に1つ)。 – user1637212

+1

私の場合は、 'ebean.default =" models。* "'行の設定がコメントアウトされていますが、この質問ではこのキーが正しく設定されているようです。 h2のユーザーとパスワードを設定する必要はありません。 – kolen

14

私はまったく同じ問題を最初の記事で説明しました。これは、いくつかの関連付けが正しくない、アプリは問題がEbeans構成である

+1

Javaをバージョン8にアップデートしたため、不明なエラーが発生しました。 SBTを0.13.0から0.13.1に更新することはそれを修正した。その後、私はこのEbeanの登録エラーを取得して、指定されたコマンドで修正しました。ありがとう! – Raidok

+1

驚くべき、これは魔法です! – wrongusername

0

再び機能し始めたばかり

# play 

> clean 
> compile 
> run 

を実行している、私の場合には、奇妙です。アプリケーションモデルで何かを変更したが、Ebeanに記録されていない可能性があります。

関連する問題