QA@IT

DATABASEの中身を全て削除したい。■その2

4295 PV

@ITの記事「Play frameworkのDB操作を楽にするEBeanの基礎知識 (2/3)」についての質問です。

DATABASEの中身


Parent [id=34, name=代々木太郎, createDate=Wed Oct 08 17:10:23 JST 2014, updateDate=Wed Oct 08 17:10:23 JST 2014]
Parent [id=42, name=代々木太郎, createDate=Sat Oct 11 05:45:51 JST 2014, updateDate=Sat Oct 11 05:45:51 JST 2014]
Parent [id=43, name=原宿太郎, createDate=Sat Oct 11 05:45:51 JST 2014, updateDate=Sat Oct 11 05:45:51 JST 2014]

package controllers;

import java.util.List;

import models.Parent;
import play.db.ebean.Model.Finder;
import play.mvc.Controller;
import play.mvc.Result;

import com.avaje.ebean.*;

public class Application extends Controller {

    public static Result index() {
        Finder<Long, Parent> finder = new Finder<Long, Parent>(Long.class,
                Parent.class);

//削除処理    
        // idで取得した1件を削除
        Parent.parent34 =finder.byid(34L);
        parent34.delete();


        List<Parent> parents = finder.all();

        StringBuilder msg = new StringBuilder();
        // 現在のParentを全検索して表示
        for (Parent parent : parents) {
            msg.append(parent.toString()).append("\n");
        }
        return ok(msg.toString());
    }
}

ブラウザ エラー

Compilation error
エラー: シンボルを見つけられません
In C:\play-2.2.3\firstProject\app\controllers\Application.java at line 20.
17          
18//削除処理    
19      // idで取得した1件を削除
20      Parent.parent34 =finder.byid(34L);

21      parent34.delete();
22      
23      
24      List<Parent> parents = finder.all();
25

コマンドプロンプト エラー

[info] Loading project definition from C:\play-2.2.3\firstProject\project
[info] Set current project to firstProject (in build file:/C:/play-2.2.3/firstProject/)

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

[info] Compiling 1 Java source to C:\play-2.2.3\firstProject\target\scala-2.10\classes...
[error] C:\play-2.2.3\firstProject\app\controllers\Application.java:20: エラー: シンボルを見つけられません
[error]         Parent.parent34 =finder.byid(34L);
[error]               ^
[error]   シンボル:   変数 parent34
[error]   場所: クラス Parent
[error] C:\play-2.2.3\firstProject\app\controllers\Application.java:20: エラー: シンボルを見つけられません
[error]         Parent.parent34 =finder.byid(34L);
[error]                                ^
[error]   シンボル:   メソッド byid(long)
[error]   場所: タイプFinder<Long,Parent>の変数 finder
[error] C:\play-2.2.3\firstProject\app\controllers\Application.java:21: エラー: シンボルを見つけられません
[error]         parent34.delete();
[error]         ^
[error]   シンボル:   変数 parent34
[error]   場所: クラス Application
[error] エラー3個
[error] Picked up _JAVA_OPTIONS: "-Dfile.encoding=SJIS"
[error] (compile:compile) javac returned nonzero exit code
[error] application - 

! @6jo1n0ann - Internal server error, for (GET) [/] ->

play.PlayExceptions$CompilationException: Compilation error[エラー: シンボルを見つけられません]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
    at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:304) ~[na:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:298) ~[na:na]
    at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
[warn] play - No application found at invoker init

回答

20行目、Parent.parent34になっていますが、正しくは、Parent parent34です。
ピリオドではなくて、半角スペースです。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。