[Seasar-user:13507] Re: [DBFlute] H2でBOOL(BIT)として定義したカラムがString型で生成される
a-hashimoto
[E-MAIL ADDRESS DELETED]
2008年 4月 1日 (火) 11:30:47 JST
橋本です。
最新のBasicExampleにてBOOL(BIT)として定義したカラムがBoolean型のフィール
ドとして生成されるのを確認しました。
久保さん、どうもありがとうございます。
すみません。DBFluteとは離れてしまって申し訳ないのですが便乗質問です。
>これは、単に自分が普段FLGを0/1で表現してるからですね。。。
私はあまり深く考えずにフラグにはBOOLEAN型を設定していました。
0/1ということはTINYINTやINTEGERなんかを設定されているということでしょう
か?この点に関して、BOOLEANではなく0/1を使用するメリットというか理由をお
聞きしたいです。(最近DBまわりをさわるようになったのですが、近くには聞け
る人がいないもので・・・・)
なにか経験から来る理由等ありましたらご教示願います。
以上、よろしくお願いいたします。
>橋本です。
>
>久保さん、お世話になります。
>
>>修正したものをBasicExampleに「DBFlute-0.6.8(SNAPSHOT)」として
>>コミットしていますので、お手数ですがご確認下さい。
>ありがとうございます。確認してみます。
>
>
>
>>久保です。
>>
>>橋本さん、こんばんは
>>
>>
>>> した場合に、自動生成されたentityで、BOOL(BIT)として定義しておいたカラム
>>> がString型のフィールドとして生成されます。
>>
>>java.sql.Types#Booleanがマッピングの対象に入っていませんでした。
>>(恐らくTorqueが作成された時代には無かったためだと思われます)
>>
>>修正したものをBasicExampleに「DBFlute-0.6.8(SNAPSHOT)」として
>>コミットしていますので、お手数ですがご確認下さい。
>>
>>
>>> サンプルではどうなっているのかと思い、
>>> ・dbflute-basic-example
>>> を落としてみたのですが、残念ながらBOOL(BIT)型の列を持つテーブルはありま
>>> せんでした。
>>
>>これは、単に自分が普段FLGを0/1で表現してるからですね。。。
>>
>>
>>> つい先日に質問したばかりで恐縮なのですが・・・。
>>
>>全然恐縮することないですよ。
>>フィードバックのおかげでDBFluteも発展していけるので。
>>
>>
>>2008/3/31 a-hashimoto <[E-MAIL ADDRESS DELETED]>:
>>> 橋本です。お世話になっております。
>>> つい先日に質問したばかりで恐縮なのですが・・・。
>>>
>>> DBにH2を使用している場合に、
>>> ・replace-schema.sqlでBOOL(BIT)のカラムを持つテーブルを作っておく
>>> ↓
>>> ・[replace-shcema.bat]→[jdbc.bat]→[generate.bat]の一連の処理を実行。
>>>
>>>
>>> した場合に、自動生成されたentityで、BOOL(BIT)として定義しておいたカラム
>>> がString型のフィールドとして生成されます。
>>> サンプルではどうなっているのかと思い、
>>> ・dbflute-basic-example
>>> を落としてみたのですが、残念ながらBOOL(BIT)型の列を持つテーブルはありま
>>> せんでした。
>>> そこで、replace-schema.sqlのPRODUCTテーブルのCREATE TABLE文をちょこっと
>>> 編集して実行してみました。
>>> --------------------------------------------------------------
>>> CREATE TABLE PRODUCT
>>> (
>>> PRODUCT_ID INTEGER IDENTITY NOT NULL PRIMARY KEY,
>>> PRODUCT_NAME VARCHAR(50) NOT NULL,
>>> PRODUCT_HANDLE_CODE VARCHAR(100) NOT NULL,
>>> PRODUCT_STATUS_CODE CHAR(3) NOT NULL,
>>> REGISTER_DATETIME DATETIME NOT NULL,
>>> REGISTER_USER VARCHAR(200) NOT NULL,
>>> REGISTER_PROCESS VARCHAR(200) NOT NULL,
>>> UPDATE_DATETIME DATETIME NOT NULL,
>>> UPDATE_USER VARCHAR(200) NOT NULL,
>>> UPDATE_PROCESS VARCHAR(200) NOT NULL,
>>> VERSION_NO BIGINT NOT NULL,
>>> DELETE_FLG BIT <------ 追記
>>> ) ;
>>> --------------------------------------------------------------
>>> そうしますと、やはりDELETE_FLGはStringとして自動生成されました。
>>> DELETE_FLGを、Stringではなくjava.lang.Booleanになるように生成したいので
>>> すが、設定方法がわからない状態です。
>>>
>>> /build-exampledb.propertiesのtorque.jdbcToJavaNativeMapに
>>> ・BIT=java.lang.Boolean;
>>> ・BIT=boolean;
>>> 等を追記してみたのですが、やはりStringとして生成されます。
>>>
>>>
>>> build-exampledb.properties以外に設定が必要な項目などがあればご教示願いま
>>> す。
>>> 以上、よろしくお願いいたします。
>>>
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>_______________________________________________
>>Seasar-user mailing list
>>[E-MAIL ADDRESS DELETED]
>>https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内