はじめまして。阿部と申します。
既存システムの新規作成部分に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 とか)にしていただけるとうまくいくのかな、と考えていますがいかがでしょうか。
日本語テーブル名がサポートされないのは承知しているのですが、今のところこれ以外に問題はでていませんので検討よろしくお願いします。