2012-01-20 7 views
0
Model/My_Table_Name.java 

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package models; 

import java.util.*; 
import javax.persistence.*; 
import play.db.jpa.*; 



@Entity 
@Table(name="My_Table_Name") 
public class My_Table_Name extends Model{ 
    public int rid; 
    public boolean siteEnabled; 
    public String finalUrl; 
    public String errorUrl; 
    public boolean tokenRequired; 

    public My_Table_Name(int rid,boolean siteEnabled, 
      String finalUrl, String errorUrl, boolean tokenRequired) 
    { 
     this.rid = rid; 
     this.errorUrl = errorUrl; 
     this.finalUrl = finalUrl; 

     this.siteEnabled = siteEnabled; 
     this.tokenRequired = tokenRequired; 
    } 

} 

コントローラ/ application.javaおっと:でIncompatibleClassChangeError - playframework

@Before 
    static void doSomething() 
    { 
     List<My_Table_Name> config = My_Table_Name.findAll(); 
     redirect(config.get(0).finalUrl); 

    } 

エラー:

Oops: IncompatibleClassChangeError 

An unexpected error occured caused by exception IncompatibleClassChangeError: 
Implementing class 

スタックトレース:

Oops: IncompatibleClassChangeError 
An unexpected error occured caused by exception IncompatibleClassChangeError: Implementing class 

play.exceptions.UnexpectedException: Unexpected Error 
    at play.Invoker$Invocation.onException(Invoker.java:244) 
    at play.Invoker$Invocation.run(Invoker.java:286) 
    at Invocation.HTTP Request(Play!) 
Caused by: java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:129) 
    at play.db.jpa.JPAPlugin.onApplicationStart(JPAPlugin.java:118) 
    at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:480) 
    at play.Play.start(Play.java:515) 
    at play.Play.detectChanges(Play.java:618) 
    at play.Invoker$Invocation.init(Invoker.java:198) 
    ... 1 more 

は、上記の私のコードであり、私は、次のいテストとYABEチュートリアルのためのガイドPostクラスのために、しかし私は自分の既存のテーブルをmysql dbで使うことができると考えました。

+0

モデルクラスと@BeforeコードなしでPlayサーバーが起動しますか?どのJavaのバージョンを使用していますか? ( 'java -version'を実行する) – digiarnie

答えて

0

これをソートしました。私は私のプロジェクトのための依存関係を実行したときどうやら、それは、Hibernateの古いバージョンをダウン持ってきて、クラスパスに冬眠する2つの言及があった、私のlibフォルダ

と劇中の1で

1 \ libフォルダ

私のapp \ libフォルダからhibernate * .jarを削除しても問題が解決しました

関連する問題