質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

5888閲覧

db-fluteでIllegalBehaviorStateException

yu1ro

総合スコア65

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2015/09/01 13:42

db-fluteでBehaviorのメソッドを叩くと以下のエラーが出ます。。。

Exception in thread "main" org.dbflute.exception.IllegalBehaviorStateException: Look! Read the message below. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Not found the invoker of behavior command in the behavior! [Advice] Please confirm the definition of the set-upper at your component configuration of DBFlute. It is precondition that 'createSelectListCBCommand()' needs the invoker instance. [Behavior] Behavior for member [Attribute] behaviorCommandInvoker : null behaviorSelector : null * * * * * * * * * */ at org.dbflute.bhv.AbstractBehaviorReadable.assertBehaviorCommandInvoker(AbstractBehaviorReadable.java:1591) at org.dbflute.bhv.AbstractBehaviorReadable.createSelectListCBCommand(AbstractBehaviorReadable.java:1460) at org.dbflute.bhv.AbstractBehaviorReadable.delegateSelectList(AbstractBehaviorReadable.java:1386) at org.dbflute.bhv.AbstractBehaviorReadable.helpSelectEntityInternally(AbstractBehaviorReadable.java:212) at org.dbflute.bhv.AbstractBehaviorReadable.doSelectEntity(AbstractBehaviorReadable.java:188) at com.relational_tweets.dbflute.bsbhv.BsMemberBhv.doSelectByPK(BsMemberBhv.java:175) at com.relational_tweets.dbflute.bsbhv.BsMemberBhv.doSelectOptionalByPK(BsMemberBhv.java:179) at com.relational_tweets.dbflute.bsbhv.BsMemberBhv.facadeSelectByPK(BsMemberBhv.java:171) at com.relational_tweets.dbflute.bsbhv.BsMemberBhv.selectByPK(BsMemberrBhv.java:167)

コードはこちらです。

java

1 MemberBhv memberBhv = new MemberBhv(); 2 MemberCB cb = new MemberCB(); 3 cb.query().setId_Equal(1); 4 memberBhv.selectByPK(1); //ここでエラー

利用しているのは

mysql Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) using readline 6.3
jdk1.8.0_51
db-flute 1.1.0-sp7

DIコンテナの設定に guiceをを指定しました。
これを選んだ理由としてはDIコンテナをを利用しない場合のオススメだったからです。。

一つ予想としては
[Advice]に 'createSelectListCBCommand()' needs the invoker instance.
とあるので、DIコンテナ関係を何もしていないのが原因かと考えましたが、
何をどうすればいいのかがわからず手をつけれていないのが現状です

ここまで、ReplaceSchema とクラスのregenerateは何度か行い成功していますので、
DBへの接続が出来ないのでは無いと考えています。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずはね。Behavior(Bhv) は自分でnewしない。
Guiceを使ったのであればGuiceからインスタンスを取得するべし。
Behaviorが動作するための必要な手続きをDIコンテナがやってくれるという感じ。

たぶん、GuiceのInjectorから、getInstance()で取れると思う。
イメージ的には、
Injector injector = Guice.createInjector(new DBFluteModule(createDataSource()));
とやって…

MemberBhv bhv = injector.getInstance(MemberBhv.class);
とやる感じ。
DBFluteModuleは自動生成されてて、createDataSource()は自分で作らないといけない。

まあただ、もしちょっとConditionBeanを動かしてみたいとかであれば、

とりあえず https://github.com/dbflute/dbflute-howto

をcloneして試すといいよ。

自動生成済みの状態になってて、すぐにBehaviorも動かせる。

投稿2015/09/01 14:24

jflute

総合スコア42

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問