<div dir="ltr"><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><span style="font-family:arial,sans-serif;font-size:14px">jfluteさん</span><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">

<span style="font-family:arial,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><span style="font-family:arial,sans-serif;font-size:14px">竹内です。早速のレス有り難うございました。</span></div>

<div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace"><span style="font-family:arial,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style><span style="font-family:arial,sans-serif;font-size:14px"><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace">

&gt; &gt; 1) 主キー以外を参照する additionalForeignKey</div></span><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">&gt; ${referrer.localColumnAsOne.javaNative}<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">

<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">こちらのパッチで問題ございませんでした。</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">
<br>
</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px"><br></div><div class="gmail_default" style><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">

&gt; &gt; 2) 外だしSQLの引数にNullable型の使用</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">&gt; お、こちらですが、EntityではなくParameterBeanの方でしょうか?</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">

<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">スミマセン。ParameterBean の方でした m(_~_)m</div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">

<br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px"><br></div><div class="gmail_default" style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">&gt; <span style="font-family:arial,sans-serif">taknb2nch さん</span></div>

<div style><div style><font face="ms gothic, monospace"><span style="font-size:14px">&gt; SQLServer、PostgreSQLでしか分かりませんが、</span></font></div><div style><span style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">&gt;</span><span style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px"> </span><font face="ms gothic, monospace"><span style="font-size:14px">私のところではDateTime?やint?として正しく生成されています。</span></font></div>

</div><div style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px"><br></div><div style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">そうですか... Firebird の影響かなぁ... もう少し調べてみます。</div><div style="font-family:&#39;ms gothic&#39;,monospace;font-size:14px">

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

<div>&gt; しかも、Firebirdとは(^^。</div><div><br></div><div>スミマセン。Firebird とは長い付き合いなもので...</div><div><br></div><div>しかも、ローカル実行用に Embedded 版があるので、<br></div><div>必要な実行環境もデータファイルもファイルコピーで済むので、</div><div>セットアップ作るのが簡単なんですよ。</div><div>

<br></div><div>この手軽さに匹敵するのは MS-Access ぐらいですが、</div><div>こちらはちょっとクセが強くて orz</div><div><br></div><div><br></div></div></div><div style="font-family:arial,sans-serif;font-size:14px"><br></div></div></div><div class="gmail_extra">

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

jfluteです<br>
<br>
竹内さん、こんにちは<br>
DBFlute.NETのご利用ありがとうございます!<br>
しかも、Firebirdとは(^^。<br>
やはり、しっかりサポートしないとですね。<br>
<br>
&gt; 1) 主キー以外を参照する additionalForeignKey<br>
ちょっと試してもらえませんでしょか?<br>
mydbflute の BaseBhv.vmnet の 223 行目を<br>
${table.getPrimaryKeyJavaNativeAsOne()}<br>
 ↓<br>
${referrer.localColumnAsOne.javaNative}<br>
と変更してみたら、どうでしょう?<br>
<br>
&gt; 2) 外だしSQLの引数にNullable型の使用<br>
お、こちらですが、EntityではなくParameterBeanの方でしょうか?<br>
birthDateのプロパティ型が DateTimeQ になってしまっているとか。<br>
(CODEカラムは、##指定により string!?)<br>
<div class=""><br>
&gt; 3) replace-schema.bat で既存のオブジェクトが削除されない<br>
&gt; 4) isIncrementSequenceToDataMax = true の対応<br>
</div>こちらは、Alto DBFluteパートなので、<br>
jfluteがちゃんとExample作った対応しないとですね。<br>
ちょっとすぐの対応がなかなか難しいですが、<br>
Firebirdも少なくともAltoは動くようにしたいなと。<br>
<br>
<br>
2014-08-29 10:26 GMT+09:00 竹内学 &lt;<a href="mailto:mtakeuchi@ailesys.co.jp">mtakeuchi@ailesys.co.jp</a>&gt;:<br>
<div><div class="h5">&gt; 竹内です。お世話になります。<br>
&gt;<br>
&gt; DBFlute.NET 0.8.9.58 + Firebird 2.5 (非公式ですが) で開発しておりました (ほぼ完了)。<br>
&gt;<br>
&gt; DBFlute.NET いいですよー。バシバシ使い倒したいと思っております。<br>
&gt;<br>
&gt; で、開発途中、ちょっと修正して貰えたらなぁと言うのがいくつかありましたので、<br>
&gt; 要望としてメールします。<br>
&gt;<br>
&gt; 1) 主キー以外を参照する additionalForeignKey で自動生成コードのデータ型<br>
&gt;    次の様なテーブルがあったとします。<br>
&gt;<br>
&gt; create table DEPARTMENT (<br>
&gt; ID bigint not null<br>
&gt; , CODE varchar(20) not null<br>
&gt; , NAME varchar(80) not null<br>
&gt; , constraint DEPARTMENT_PK primary key (ID)<br>
&gt; , constraint DEPARTMENT_UQ1 unique (CODE)<br>
&gt; );<br>
&gt;<br>
&gt; create table EMPLOYEE (<br>
&gt; ID bigint not null<br>
&gt; , CODE varchar(20) not null<br>
&gt; , NAME varchar(20) not null<br>
&gt; , BIRTH_DATE DATE<br>
&gt; , DEPARTMENT_CODE varchar(20) not null -- DEPARTMENT.CODE を参照<br>
&gt; , constraint EMPLOYEE_PK primary key (ID)<br>
&gt; , constraint EMPLOYEE_UQ1 unique (CODE)<br>
&gt; );<br>
&gt;<br>
&gt; additionalForeignKeyMap.dfprop に次の様に宣言をしました。<br>
&gt; map:{<br>
&gt; ; EMPLOYEE_FK1 = map:{<br>
&gt; ; localTableName = EMPLOYEE ; foreignTableName = DEPARTMENT<br>
&gt; ; localColumnName = DEPARTMENT_CODE ; foreignColumnName = CODE<br>
&gt;  }<br>
&gt; }<br>
&gt;<br>
&gt; この状態で generate.bat を実行しますと、BsDeparmentBhv.cs に<br>
&gt;<br>
&gt; public virtual void LoadInventoryTempList(IList&lt;Department&gt; departmentList,<br>
&gt; LoadReferrerOption&lt;InventoryTempCB, InventoryTemp&gt; loadReferrerOption) {<br>
&gt; AssertObjectNotNull(&quot;departmentList&quot;, departmentList);<br>
&gt; AssertObjectNotNull(&quot;loadReferrerOption&quot;, loadReferrerOption);<br>
&gt; if (departmentList.Count == 0) { return; }<br>
&gt; InventoryTempBhv referrerBhv = xgetBSFLR().Select&lt;InventoryTempBhv&gt;();<br>
&gt; HelpLoadReferrerInternally&lt;Department, long?, InventoryTempCB,<br>
&gt; InventoryTemp&gt;<br>
&gt; (departmentList, loadReferrerOption, new<br>
&gt; MyInternalLoadInventoryTempListCallback(referrerBhv));<br>
&gt; }<br>
&gt;<br>
&gt; protected class MyInternalLoadInventoryTempListCallback :<br>
&gt; InternalLoadReferrerCallback&lt;Department, String, InventoryTempCB,<br>
&gt; InventoryTemp&gt; {<br>
&gt; ... 略 ...<br>
&gt;<br>
&gt;   の様に出力されます (他にも似たコードが...)。<br>
&gt;<br>
&gt;   ここの問題は、MyInternalLoadInventoryTempListCallback で宣言されている型引数の第2パラメータは String<br>
&gt; となっています。<br>
&gt;   しかし、LoadInventoryTempList の中では long? として宣言しています。<br>
&gt;   まぁ、手で直せるレベルだったので、手で直しましたが、<br>
&gt;   generate.bat を実行する度に修正をしなければならなかったので、出来れば自動生成の際にちゃんと出力して頂けたらなぁと。<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2) 外だしSQLの引数にNullable型の使用<br>
&gt;    外だしSQLを次の様に宣言をしたとします。<br>
&gt;<br>
&gt; /*<br>
&gt; [df:title]<br>
&gt; 社員コードの検索<br>
&gt; */<br>
&gt; -- #df:entity#<br>
&gt; -- ##string CODE##<br>
&gt; -- !df:pmb!<br>
&gt; -- !!DateTime? birthDate!!<br>
&gt; select CODE<br>
&gt; from EMPLOYEE<br>
&gt; /*BEGIN*/<br>
&gt; where<br>
&gt; /*IF pmb.BirthDate != null*/<br>
&gt; BIRTH_DATE &gt;= /*pmb.BirthDate*/&#39;2001/01/01&#39;<br>
&gt; /*END*/<br>
&gt; /*END*/<br>
&gt; order by CODE asc<br>
&gt;<br>
&gt;   これで sql2entity.bat で生成された entity クラスのデータ型は DateTime? ではなくて DateTimeQ<br>
&gt; となっています。<br>
&gt;   これも、手で直せるレベルだったので、手で直しましたが、<br>
&gt;   sql2entity.bat を実行する度に修正をしなければならなかったので、出来れば自動生成の際にちゃんとしたデータ型で出力して頂けたらなぁと。<br>
&gt;<br>
&gt;   あと、結果をスカラ型受けるのって対応していない? 色々チャレンジしてみましたが、途中で諦めました。<br>
&gt;<br>
&gt;<br>
&gt; --- 以下は Firebird が非対応である事は承知の上で... ---<br>
&gt; 3) replace-schema.bat で既存のオブジェクトが削除されない<br>
&gt; 4) isIncrementSequenceToDataMax = true の対応<br>
&gt;<br>
&gt;<br>
&gt; 以上です。<br>
&gt;<br>
&gt; ご検討頂けましたら、幸いに存じます。<br>
&gt;<br>
&gt; よろしくお願いします。<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; 竹内 学 &lt;mailto:<a href="mailto:mtakeuchi@ailesys.co.jp">mtakeuchi@ailesys.co.jp</a>&gt;<br>
&gt; 株式会社エールシステム<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; seasar-dotnet mailing list<br>
&gt; <a href="mailto:seasar-dotnet@ml.seasar.org">seasar-dotnet@ml.seasar.org</a><br>
&gt; <a href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a><br>
&gt;<br>
_______________________________________________<br>
seasar-dotnet mailing list<br>
<a href="mailto:seasar-dotnet@ml.seasar.org">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>
</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>