日本語テーブルでの外だしSQLでSql2Entityが失敗する

181 views
Skip to first unread message

xeno...@gmail.com

unread,
Jul 17, 2013, 9:24:47 PM7/17/13
to dbf...@googlegroups.com
はじめまして。阿部と申します。

既存システムの新規作成部分にDBFlute.Net(0.8.9.50)を使用しようと考えています。

表題のエラーの件ですが、"事業所マスタ"という日本語名のテーブルがあり、
これに関するsql を 「事業所マスタBhv_selectFoo.sql」に記述して ExBhv 配下に置きました。
そのあと、Sql2Entity を実行すると以下のようなエラーとなります。
(DBFlute.Netを使用していますが生成部分なのでDBFluteでも同じかと思います)

[df-sql2entity] The behavior was Not Found!
[df-sql2entity]
[df-sql2entity] [Advice]
[df-sql2entity] Please confirm the existence of the behavior.
[df-sql2entity] And confirm your SQL file name.
[df-sql2entity]
[df-sql2entity] [Your SQL File]
[df-sql2entity] ../src/Logics/DBFlute/ExBhv/事業所マスタBhv_selectFoo.sql
[df-sql2entity]
[df-sql2entity] [Not Found Behavior]
[df-sql2entity] 事業所マスタBhv
[df-sql2entity]
[df-sql2entity] [Behavior Directory]
[df-sql2entity] ../src/Logics/DBFlute/BsBhv/
[df-sql2entity]
[df-sql2entity] [Behavior List]
[df-sql2entity] [Bs事業所マスタBhv, ...

事業所マスタBhvは存在しますし、Behaviorの名前やパスなどはあっているようなので調べてみると、
BsBhv以下からBehaviorのMapを作成している部分(DfBehaviorQueryPathSetupper#createBsBhvFileMap)で
行っている、Behaviorのクラス名からプレフィックスを外す処理(DfBehaviorQueryPathSetupper#removeBasePrefix)にて
プレフィックス(Bs)がうまく外れないのが原因のようです。
(上のエラーでも[Behavior List]に Bsがついたままです)
おそらく、DfBehaviorQueryPathSetupper.java の 410行目
  if (!Character.isUpperCase(bsbhvSimpleName.substring(prefixLength).charAt(0))) {
にひっかかっているのだと思います。
この部分の判定をASCII文字に限定(&& c<=0x7F とか)にしていただけるとうまくいくのかな、と考えていますがいかがでしょうか。

日本語テーブル名がサポートされないのは承知しているのですが、今のところこれ以外に問題はでていませんので検討よろしくお願いします。


kubo

unread,
Jul 17, 2013, 10:00:52 PM7/17/13
to DBFluteユーザの集い
こんにちは

阿部さん
DBFlute.NETご利用ありがとうございます!
そして、素敵なフィードバックありがとうございます!

ちょっと後で隙を見て対応してSNAPSHOT出しますので、
そのとき検証お願いしますー!しばしお待ちを。


2013/7/18 <xeno...@gmail.com>:
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。
> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>

kubo

unread,
Jul 18, 2013, 1:14:09 AM7/18/13
to DBFluteユーザの集い
jflute@隙なうです

// dbflute-0.8.9.52-RC1.zip
http://dbflute.net.sandbox.seasar.org/ja/environment/newest.html#snapshot

これで試して頂けないでしょうか?


2013/7/18 kubo <dbf...@gmail.com>:

xeno...@gmail.com

unread,
Jul 18, 2013, 1:38:53 AM7/18/13
to dbf...@googlegroups.com
阿部です

素早い対応ありがとうございます。

Sql2Entityが成功し、Bhvを使用したOutsideSqlの実行も正しく行えることを確認しました。

以上、よろしくお願いします。


2013年7月18日木曜日 14時14分09秒 UTC+9 jflute:
>> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。

kubo

unread,
Jul 18, 2013, 4:28:38 AM7/18/13
to DBFluteユーザの集い
jfluteです

阿部さん、確認ありがとうございます!
そのままのロジックで、テスト全部通して、
問題なければそれでリリースしようかと思いますのでー。


2013/7/18 <xeno...@gmail.com>:
>> >> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> にメールを送信します。
>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >>
>> >>
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。

kubo

unread,
Jul 22, 2013, 6:35:08 AM7/22/13
to DBFluteユーザの集い
jfluteです

> 阿部さん、確認ありがとうございます!
> そのままのロジックで、テスト全部通して、
> 問題なければそれでリリースしようかと思いますのでー。
リリースしましたー



2013/7/18 kubo <dbf...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages