[Seasar-user:13513] Re: [DBFlute] H2でBOOL(BIT)として定義したカラムがString型で生成される
a-hashimoto
[E-MAIL ADDRESS DELETED]
2008年 4月 1日 (火) 16:12:18 JST
橋本です。
せとさん、久保さんありがとうございます。
>booleanの型がないRDBMSがあるためです。例えばOracle。
Oracleにはboolean型がないのですか・・・。知りませんでした。Oracleは使っ
たことがないのですが一度調べてみたいと思います。
>DB次第で色々変わるので、統一して0/1ってやってしまう習慣と
>Booleanが使えるなら使おうという習慣とがある思われます。
>ということで単に好みと習慣の問題ですね。
>無論、Booleanが使えるならその方が制約が強いので
>単純にそれだけを考えたらそっちのがよいかと思われます。
なるほど。どちらを使うべきなのか悶々としておりましたが、これですっきりし
ました。
せとさん、久保さん、初歩的な質問にまで答えていただきありがとうございまし
た。
またなにかありましたらよろしくお願いいたします。
>久保です。
>
>橋本さん、ご報告ありがとうございます!
>
>> か?この点に関して、BOOLEANではなく0/1を使用するメリットというか理由をお
>> 聞きしたいです。(最近DBまわりをさわるようになったのですが、近くには聞け
>> る人がいないもので・・・・)
>
>せとさんフォローありがとうございます。
>DB次第で色々変わるので、統一して0/1ってやってしまう習慣と
>Booleanが使えるなら使おうという習慣とがある思われます。
>ということで単に好みと習慣の問題ですね。
>無論、Booleanが使えるならその方が制約が強いので
>単純にそれだけを考えたらそっちのがよいかと思われます。
>
>2008/4/1 a-hashimoto <[E-MAIL ADDRESS DELETED]>:
>> 橋本です。
>>
>> 最新の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 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 メーリングリストの案内