はじめに
* Ebean をPlay Framework上ではなく、単体で使用した際のトラブルシューティングを載せておく
■ 実行時エラー「PersistenceException:xxxxx is NOT an Entity Bean registered with this server?」が表示される
エラー内容
Exception in thread "main" javax.persistence.PersistenceException:xxxxx is NOT an Entity Bean registered with this server? at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:890) at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:884) at com.dk.sample.ebean.Main.main(Main.java:41)
解決策
* モデルに「@Entity」を付ける修正前
public class Person extends Model { public String id; // 略 }修正後
@Entity @Table(name = "person") public class Person extends Model { @Id @Column(name = "id") public String id; // 略 }
■ 実行時エラー「IllegalStateException: Bean class xxxxx is not enhanced?」が表示される
エラー内容
Exception in thread "main" java.lang.IllegalStateException: Bean class xxxxx is not enhanced? at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1344) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1210) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1132) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:636) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:306) at com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:134) at com.avaje.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:117) at com.avaje.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:40) at com.avaje.ebean.EbeanServerFactory.createInternal(EbeanServerFactory.java:108) at com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:67) at com.dk.sample.ebean.Main.main(Main.java:29)
解決策
VM引数にjavaagentコンパイルオプションを指定する。 -javaagent:/【フルパス】\avaje-ebeanorm-agent.jar
例
-javaagent:C:\work\workspace\Sample\lib\avaje-ebeanorm-agent-4.7.1.jar
参考文献
http://cs.hatenablog.jp/entry/2013/06/18/114913http://tenten0213.hatenablog.com/entry/2013/07/18/224512