<div dir="ltr"><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">TO:久保(jflute)さん</div><div><br></div><div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">​竹内です。お世話様です。</div>

<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">別のプロジェクトにて replace-schema.bat を実行してみましたら、</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">

table, view, trigger, procedure は削除されました (!!!)</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">が、generator, domain, exception, function, role は削除されませんでした。</div>

<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">一応</div><div class="gmail_default" style><font face="ms gothic, monospace">; objectTypeTargetList = list:{TABLE ; VIEW ; DOMAIN ; EXCEPTION ; FUNCTION ; GENERATOR ; ROLE }</font><br>

</div><div class="gmail_default" style><font face="ms gothic, monospace"><br></font></div><div class="gmail_default" style><font face="ms gothic, monospace">と指定はしていますが、そもそも合っているのかしら?</font></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">

# まぁ、Firebird は非対応ですから、動くことが驚きです。</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">よろしくお願いします。</div>
<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">
​</div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014年9月1日 10:56 竹内学 <span dir="ltr">&lt;<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;</span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">TO:久保(jflute)さん</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">

<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">


竹内です。レス遅くなって申し訳ございませんでした。</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">MacOS X に入れた事は無いので、足りないところは判らないですが、</div>




<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">Windows 7 では、jaybird-full-2.2.5.jar を入れているぐらいです。</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">




ただ、JNI 関連とのことですので、(私は入れていませんが...) jaybird22.dll (Windowsの場合)か libjaybird22.so (Linuxの場合)が必要なのかも知れません (MacOS X 用は無いのか???)。</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">



ちなみに、databaseInfoMap.dfprop はどの様にされていますか?</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">私の環境では</div>


<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">
<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><div class="gmail_default">map:{</div><div class="gmail_default">    ; driver   = org.firebirdsql.jdbc.FBDriver</div><div class="gmail_default">



    ; url      = jdbc:firebirdsql://localhost:3050/DBFILE.FDB?encoding=UNICODE_FSS</div><div class="gmail_default">    ; schema   = DBFILE</div><div class="gmail_default">    ; user     = SYSDBA</div><div class="gmail_default">



    ; password = masterkey</div><div>}</div><div><br></div><div>の様にしています。</div><div><br></div><div>この設定は Embedded では無くて、Super Server での接続ですが...</div><div># ${FIREBIRD_HOME}/aliases.conf にエイリアスを記述しておくと、フルパスで接続しなくても良いです。</div>



</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div class="gmail_default">
<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">&gt; あと、ReplaceSchemaを実行したときのdropされないときの</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">&gt; エラー内容はどのようなものでしょうか?</div>


<div style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div style="font-family:&#39;ms gothic&#39;,monospace">こちらは既存のスキーマ取得に失敗しているのか、既存オブジェクトを削除するようには動いていないようです。</div><div style="font-family:&#39;ms gothic&#39;,monospace">


<br></div><div style="font-family:&#39;ms gothic&#39;,monospace">その為、古いオブジェクトが残ったまま、create xxx が動こうとするので、</div><div style="font-family:&#39;ms gothic&#39;,monospace">unsuccessful metadata update が発生しています。</div><div style="font-family:&#39;ms gothic&#39;,monospace">


<br></div><div style="font-family:&#39;ms gothic&#39;,monospace">現状、replace-schema.bat を実行させる際には「FlameRobin」というツールにて「Recreate empty database」コマンドを実行して、空のdbファイルを作成しております。</div><div style="font-family:&#39;ms gothic&#39;,monospace">


<br></div><div style="font-family:&#39;ms gothic&#39;,monospace">ログの抜粋を貼り付けておきます。</div><div style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div style="font-family:&#39;ms gothic&#39;,monospace"><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,633 INFO  - ...Preparing data source:</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,635 INFO  -   driver = org.firebirdsql.jdbc.FBDriver</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,636 INFO  -   url    = jdbc:firebirdsql://localhost:3050/DBNAME.FDB?encoding=UNICODE_FSS</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,639 INFO  -   user   = SYSDBA</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,657 INFO  - ...Connecting to database by data source:</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,818 INFO  -   product = Firebird 2.53WI WI-V2.5.1.26351</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,819 INFO  -   driver  = Jaybird JCA/JDBC driver 2.2 for JDBC 4.1</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,833 INFO  -</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,834 INFO  - * * * * * * * * * * *</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,835 INFO  - *                   *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,836 INFO  - * Initialize Schema *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,836 INFO  - *                   *</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,837 INFO  - * * * * * * * * * * *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,850 INFO  - ...Getting tables:</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,851 INFO  -   schema = {DBFILE as main}</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,852 INFO  -   types  = [TABLE, VIEW]</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,894 INFO  -</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,895 INFO  - * * * * * * * * *</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,895 INFO  - *               *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,896 INFO  - * Create Schema *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,896 INFO  - *               *</div>


<div>&gt; [df-replace-schema] 2014-09-01 10:33:46,897 INFO  - * * * * * * * * *</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,900 INFO  - ...Firing: replace-schema-0000000000.sql</div><div>&gt; [df-replace-schema] 2014-09-01 10:33:46,906 INFO  -</div>


<div><br></div></div><div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] create domain T_BOOL as smallint</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]     default 0</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema]     check ((value is null) or (value in (0, 1)))</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] 2014-09-01 10:29:48,549 INFO  - {Create Schema}: success=0 failure=1 *break (in 1 files)</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] 2014-09-01 10:29:48,582 ERROR - Look! Read the message below.</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] Failed to execute DBFlute Task &#39;ReplaceSchema&#39;.</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div><div>
<font face="ms gothic, monospace">&gt; [df-replace-schema] [Advice]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] Check the exception messages and the stack traces.</font></div><div>
<font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] [Database Product]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] Firebird 2.53WI WI-V2.5.1.26351</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] [JDBC Driver]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] Jaybird JCA/JDBC driver 2.2 for JDBC 4.1</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] * * * * * * * * * */</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] org.seasar.dbflute.exception.SQLFailureException: Look! Read the message below.</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</font></div><div><font face="ms gothic, monospace"><br></font></div><div>
<font face="ms gothic, monospace"><br></font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] create domain T_BOOL as smallint</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]     default 0</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema]     check ((value is null) or (value in (0, 1)))</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div><div>
<font face="ms gothic, monospace">&gt; [df-replace-schema] [SQLState]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] 42000</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] [ErrorCode]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] 335544351</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] [SQLException]</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] org.firebirdsql.jdbc.FBSQLException</font></div><div>
<font face="ms gothic, monospace">&gt; [df-replace-schema] GDS Exception. 335544351. unsuccessful metadata update</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] STORE RDB$FIELDS failed</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] null</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] null</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema] attempt to store duplicate value (visible to active transactions) in unique index &quot;RDB$INDEX_2&quot;</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema] * * * * * * * * * */</font></div><div><font face="ms gothic, monospace">&gt; [df-replace-schema]     at org.seasar.dbflute.helper.jdbc.sqlfile.DfSqlFileRunnerBase.throwSQLFailureException(DfSqlFileRunnerBase.java:588)</font></div>


<div><font face="ms gothic, monospace">&gt; [df-replace-schema]     at org.seasar.dbflute.helper.jdbc.sqlfile.DfSqlFileRunnerExecute.execSQL(DfSqlFileRunnerExecute.java:80)</font></div></div><div style="font-family:&#39;ms gothic&#39;,monospace">


<br></div><div style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div style="font-family:&#39;ms gothic&#39;,monospace"><br></div><div style="font-family:&#39;ms gothic&#39;,monospace"><div>&gt; ※片手間で、Firebirdアプローチしてみようかと思います</div>


<div><br></div><div>有り難うございます。取りあえず開発は滞りなく出来ましたので、</div><div>全然急いでおりません。</div><div><br></div><div>ご面倒をお掛けいたしますが、何卒よろしくお願いいたします。</div><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">


2014年8月30日 22:32 kubo <span dir="ltr">&lt;<a href="mailto:dbflute@gmail.com" target="_blank">dbflute@gmail.com</a>&gt;</span>:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


久保(jflute)です<br>
<br>
竹内さん、<br>
すいません、ちょっとFirebirdについて教えて頂けないでしょうか?<br>
<br>
JDBCドライバのjarファイルは同梱されていないので、<br>
extlibに配置する必要があると思いますが、<br>
配置しているのは、jaybird-full-2.2.5.jar でしょうか?<br>
<br>
また、それ以外に特別に用意したものはあるでしょうか?<br>
<br>
MacOSXに入れて試してみたのですが、<br>
(色々と壁を乗り越えながら...)<br>
java.lang.UnsatisfiedLinkError: no jaybird22 in java.library.path<br>
となり、JNIの設定が別途必要かなと。<br>
<br>
<br>
あと、ReplaceSchemaを実行したときのdropされないときの<br>
エラー内容はどのようなものでしょうか?<br>
<br>
<br>
※片手間で、Firebirdアプローチしてみようかと思います<br>
<br>
<br>
<br>
<br>
<br>
2014-08-29 15:14 GMT+09:00 kubo &lt;<a href="mailto:dbflute@gmail.com" target="_blank">dbflute@gmail.com</a>&gt;:<br>
<div><div>&gt; 久保(jflute)です<br>
&gt;<br>
&gt;&gt; &gt; &gt; 1) 主キー以外を参照する additionalForeignKey<br>
&gt;&gt; &gt; ${referrer.localColumnAsOne.javaNative}<br>
&gt;&gt;<br>
&gt;&gt; こちらのパッチで問題ございませんでした。<br>
&gt; ご確認ありがとうございました!<br>
&gt; こちら本体にも入れておきますね。<br>
&gt;<br>
&gt;&gt; &gt; 私のところではDateTime?やint?として正しく生成されています。<br>
&gt;&gt; そうですか... Firebird の影響かなぁ... もう少し調べてみます。<br>
&gt; 自分も問題なく動作していますが(dbflute.net-quill-exampleにて)、<br>
&gt; DBMSがそこに影響するとは考えにくいですねぇ...<br>
&gt; ちょうどその部分のプログラムは、以下のように感じです。<br>
&gt; 行コメントであっても、ParameterBeanの!!であればフィルターしないと。<br>
&gt;<br>
&gt;     protected String replaceCommentQuestionMarkIfNeeds(String line) {<br>
&gt;         if (line.indexOf(&quot;--!!&quot;) &gt;= 0 || line.indexOf(&quot;-- !!&quot;) &gt;= 0) {<br>
&gt;             // If the line comment is for a property of parameter-bean,<br>
&gt;             // it does not replace question mark.<br>
&gt;             return line;<br>
&gt;         }<br>
&gt;         return super.replaceCommentQuestionMarkIfNeeds(line);<br>
&gt;     }<br>
&gt;<br>
&gt; ちょっとうーむー、ですね。。。<br>
&gt;<br>
&gt;<br>
&gt; #<br>
&gt; # AutoDetectを使うと、単なるDateTimeになっちゃうんでしたっけ。。。<br>
&gt; # C#では、はてなを自動で判別できるようにしないとですね。<br>
&gt; #<br>
&gt;<br>
&gt;<br>
&gt; 2014-08-29 14:10 GMT+09:00 竹内学 &lt;<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;:<br>
&gt;&gt; jfluteさん<br>
&gt;&gt;<br>
&gt;&gt; 竹内です。早速のレス有り難うございました。<br>
&gt;&gt;<br>
&gt;&gt;&gt; &gt; 1) 主キー以外を参照する additionalForeignKey<br>
&gt;&gt;&gt; ${referrer.localColumnAsOne.javaNative}<br>
&gt;&gt;<br>
&gt;&gt; こちらのパッチで問題ございませんでした。<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; &gt; 2) 外だしSQLの引数にNullable型の使用<br>
&gt;&gt;&gt; お、こちらですが、EntityではなくParameterBeanの方でしょうか?<br>
&gt;&gt;<br>
&gt;&gt; スミマセン。ParameterBean の方でした m(_~_)m<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; taknb2nch さん<br>
&gt;&gt;&gt; SQLServer、PostgreSQLでしか分かりませんが、<br>
&gt;&gt;&gt; 私のところではDateTime?やint?として正しく生成されています。<br>
&gt;&gt;<br>
&gt;&gt; そうですか... Firebird の影響かなぁ... もう少し調べてみます。<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; しかも、Firebirdとは(^^。<br>
&gt;&gt;<br>
&gt;&gt; スミマセン。Firebird とは長い付き合いなもので...<br>
&gt;&gt;<br>
&gt;&gt; しかも、ローカル実行用に Embedded 版があるので、<br>
&gt;&gt; 必要な実行環境もデータファイルもファイルコピーで済むので、<br>
&gt;&gt; セットアップ作るのが簡単なんですよ。<br>
&gt;&gt;<br>
&gt;&gt; この手軽さに匹敵するのは MS-Access ぐらいですが、<br>
&gt;&gt; こちらはちょっとクセが強くて orz<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2014年8月29日 11:32 kubo &lt;<a href="mailto:dbflute@gmail.com" target="_blank">dbflute@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; jfluteです<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 竹内さん、こんにちは<br>
&gt;&gt;&gt; DBFlute.NETのご利用ありがとうございます!<br>
&gt;&gt;&gt; しかも、Firebirdとは(^^。<br>
&gt;&gt;&gt; やはり、しっかりサポートしないとですね。<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; 1) 主キー以外を参照する additionalForeignKey<br>
&gt;&gt;&gt; ちょっと試してもらえませんでしょか?<br>
&gt;&gt;&gt; mydbflute の BaseBhv.vmnet の 223 行目を<br>
&gt;&gt;&gt; ${table.getPrimaryKeyJavaNativeAsOne()}<br>
&gt;&gt;&gt;  ↓<br>
&gt;&gt;&gt; ${referrer.localColumnAsOne.javaNative}<br>
&gt;&gt;&gt; と変更してみたら、どうでしょう?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; 2) 外だしSQLの引数にNullable型の使用<br>
&gt;&gt;&gt; お、こちらですが、EntityではなくParameterBeanの方でしょうか?<br>
&gt;&gt;&gt; birthDateのプロパティ型が DateTimeQ になってしまっているとか。<br>
&gt;&gt;&gt; (CODEカラムは、##指定により string!?)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; 3) replace-schema.bat で既存のオブジェクトが削除されない<br>
&gt;&gt;&gt; &gt; 4) isIncrementSequenceToDataMax = true の対応<br>
&gt;&gt;&gt; こちらは、Alto DBFluteパートなので、<br>
&gt;&gt;&gt; jfluteがちゃんとExample作った対応しないとですね。<br>
&gt;&gt;&gt; ちょっとすぐの対応がなかなか難しいですが、<br>
&gt;&gt;&gt; Firebirdも少なくともAltoは動くようにしたいなと。<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2014-08-29 10:26 GMT+09:00 竹内学 &lt;<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;:<br>
&gt;&gt;&gt; &gt; 竹内です。お世話になります。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; DBFlute.NET 0.8.9.58 + Firebird 2.5 (非公式ですが) で開発しておりました (ほぼ完了)。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; DBFlute.NET いいですよー。バシバシ使い倒したいと思っております。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; で、開発途中、ちょっと修正して貰えたらなぁと言うのがいくつかありましたので、<br>
&gt;&gt;&gt; &gt; 要望としてメールします。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; 1) 主キー以外を参照する additionalForeignKey で自動生成コードのデータ型<br>
&gt;&gt;&gt; &gt;    次の様なテーブルがあったとします。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; create table DEPARTMENT (<br>
&gt;&gt;&gt; &gt; ID bigint not null<br>
&gt;&gt;&gt; &gt; , CODE varchar(20) not null<br>
&gt;&gt;&gt; &gt; , NAME varchar(80) not null<br>
&gt;&gt;&gt; &gt; , constraint DEPARTMENT_PK primary key (ID)<br>
&gt;&gt;&gt; &gt; , constraint DEPARTMENT_UQ1 unique (CODE)<br>
&gt;&gt;&gt; &gt; );<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; create table EMPLOYEE (<br>
&gt;&gt;&gt; &gt; ID bigint not null<br>
&gt;&gt;&gt; &gt; , CODE varchar(20) not null<br>
&gt;&gt;&gt; &gt; , NAME varchar(20) not null<br>
&gt;&gt;&gt; &gt; , BIRTH_DATE DATE<br>
&gt;&gt;&gt; &gt; , DEPARTMENT_CODE varchar(20) not null -- DEPARTMENT.CODE を参照<br>
&gt;&gt;&gt; &gt; , constraint EMPLOYEE_PK primary key (ID)<br>
&gt;&gt;&gt; &gt; , constraint EMPLOYEE_UQ1 unique (CODE)<br>
&gt;&gt;&gt; &gt; );<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; additionalForeignKeyMap.dfprop に次の様に宣言をしました。<br>
&gt;&gt;&gt; &gt; map:{<br>
&gt;&gt;&gt; &gt; ; EMPLOYEE_FK1 = map:{<br>
&gt;&gt;&gt; &gt; ; localTableName = EMPLOYEE ; foreignTableName = DEPARTMENT<br>
&gt;&gt;&gt; &gt; ; localColumnName = DEPARTMENT_CODE ; foreignColumnName = CODE<br>
&gt;&gt;&gt; &gt;  }<br>
&gt;&gt;&gt; &gt; }<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; この状態で generate.bat を実行しますと、BsDeparmentBhv.cs に<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; public virtual void LoadInventoryTempList(IList&lt;Department&gt;<br>
&gt;&gt;&gt; &gt; departmentList,<br>
&gt;&gt;&gt; &gt; LoadReferrerOption&lt;InventoryTempCB, InventoryTemp&gt; loadReferrerOption) {<br>
&gt;&gt;&gt; &gt; AssertObjectNotNull(&quot;departmentList&quot;, departmentList);<br>
&gt;&gt;&gt; &gt; AssertObjectNotNull(&quot;loadReferrerOption&quot;, loadReferrerOption);<br>
&gt;&gt;&gt; &gt; if (departmentList.Count == 0) { return; }<br>
&gt;&gt;&gt; &gt; InventoryTempBhv referrerBhv = xgetBSFLR().Select&lt;InventoryTempBhv&gt;();<br>
&gt;&gt;&gt; &gt; HelpLoadReferrerInternally&lt;Department, long?, InventoryTempCB,<br>
&gt;&gt;&gt; &gt; InventoryTemp&gt;<br>
&gt;&gt;&gt; &gt; (departmentList, loadReferrerOption, new<br>
&gt;&gt;&gt; &gt; MyInternalLoadInventoryTempListCallback(referrerBhv));<br>
&gt;&gt;&gt; &gt; }<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; protected class MyInternalLoadInventoryTempListCallback :<br>
&gt;&gt;&gt; &gt; InternalLoadReferrerCallback&lt;Department, String, InventoryTempCB,<br>
&gt;&gt;&gt; &gt; InventoryTemp&gt; {<br>
&gt;&gt;&gt; &gt; ... 略 ...<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;   の様に出力されます (他にも似たコードが...)。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;   ここの問題は、MyInternalLoadInventoryTempListCallback で宣言されている型引数の第2パラメータは<br>
&gt;&gt;&gt; &gt; String<br>
&gt;&gt;&gt; &gt; となっています。<br>
&gt;&gt;&gt; &gt;   しかし、LoadInventoryTempList の中では long? として宣言しています。<br>
&gt;&gt;&gt; &gt;   まぁ、手で直せるレベルだったので、手で直しましたが、<br>
&gt;&gt;&gt; &gt;   generate.bat を実行する度に修正をしなければならなかったので、出来れば自動生成の際にちゃんと出力して頂けたらなぁと。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; 2) 外だしSQLの引数にNullable型の使用<br>
&gt;&gt;&gt; &gt;    外だしSQLを次の様に宣言をしたとします。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; /*<br>
&gt;&gt;&gt; &gt; [df:title]<br>
&gt;&gt;&gt; &gt; 社員コードの検索<br>
&gt;&gt;&gt; &gt; */<br>
&gt;&gt;&gt; &gt; -- #df:entity#<br>
&gt;&gt;&gt; &gt; -- ##string CODE##<br>
&gt;&gt;&gt; &gt; -- !df:pmb!<br>
&gt;&gt;&gt; &gt; -- !!DateTime? birthDate!!<br>
&gt;&gt;&gt; &gt; select CODE<br>
&gt;&gt;&gt; &gt; from EMPLOYEE<br>
&gt;&gt;&gt; &gt; /*BEGIN*/<br>
&gt;&gt;&gt; &gt; where<br>
&gt;&gt;&gt; &gt; /*IF pmb.BirthDate != null*/<br>
&gt;&gt;&gt; &gt; BIRTH_DATE &gt;= /*pmb.BirthDate*/&#39;2001/01/01&#39;<br>
&gt;&gt;&gt; &gt; /*END*/<br>
&gt;&gt;&gt; &gt; /*END*/<br>
&gt;&gt;&gt; &gt; order by CODE asc<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;   これで sql2entity.bat で生成された entity クラスのデータ型は DateTime? ではなくて DateTimeQ<br>
&gt;&gt;&gt; &gt; となっています。<br>
&gt;&gt;&gt; &gt;   これも、手で直せるレベルだったので、手で直しましたが、<br>
&gt;&gt;&gt; &gt;   sql2entity.bat<br>
&gt;&gt;&gt; &gt; を実行する度に修正をしなければならなかったので、出来れば自動生成の際にちゃんとしたデータ型で出力して頂けたらなぁと。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;   あと、結果をスカラ型受けるのって対応していない? 色々チャレンジしてみましたが、途中で諦めました。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; --- 以下は Firebird が非対応である事は承知の上で... ---<br>
&gt;&gt;&gt; &gt; 3) replace-schema.bat で既存のオブジェクトが削除されない<br>
&gt;&gt;&gt; &gt; 4) isIncrementSequenceToDataMax = true の対応<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; 以上です。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; ご検討頂けましたら、幸いに存じます。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; よろしくお願いします。<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; --<br>
&gt;&gt;&gt; &gt; 竹内 学 &lt;mailto:<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;<br>
&gt;&gt;&gt; &gt; 株式会社エールシステム<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt; &gt; seasar-dotnet mailing list<br>
&gt;&gt;&gt; &gt; <a href="mailto:seasar-dotnet@ml.seasar.org" target="_blank">seasar-dotnet@ml.seasar.org</a><br>
&gt;&gt;&gt; &gt; <a href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; seasar-dotnet mailing list<br>
&gt;&gt;&gt; <a href="mailto:seasar-dotnet@ml.seasar.org" target="_blank">seasar-dotnet@ml.seasar.org</a><br>
&gt;&gt;&gt; <a href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; 竹内 学 &lt;mailto:<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;<br>
&gt;&gt; 株式会社エールシステム<br>
&gt;&gt; 〒384-0083 長野県小諸市大字市665-9<br>
&gt;&gt; Phone: 0267-25-5990<br>
&gt;&gt; Facsimile: 0267-26-1324<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; seasar-dotnet mailing list<br>
&gt;&gt; <a href="mailto:seasar-dotnet@ml.seasar.org" target="_blank">seasar-dotnet@ml.seasar.org</a><br>
&gt;&gt; <a href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a><br>
&gt;&gt;<br>
_______________________________________________<br>
seasar-dotnet mailing list<br>
<a href="mailto:seasar-dotnet@ml.seasar.org" target="_blank">seasar-dotnet@ml.seasar.org</a><br>
<a href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a><br>
<br>
</div></div></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br><div dir="ltr">竹内 学 &lt;mailto:<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;<br>

株式会社エールシステム<br>〒384-0083 長野県小諸市大字市665-9<br>
Phone: 0267-25-5990<br>Facsimile: 0267-26-1324</div>
</div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">竹内 学 &lt;mailto:<a href="mailto:mtakeuchi@ailesys.co.jp" target="_blank">mtakeuchi@ailesys.co.jp</a>&gt;<br>株式会社エールシステム<br>〒384-0083 長野県小諸市大字市665-9<br>

Phone: 0267-25-5990<br>Facsimile: 0267-26-1324</div>
</div>