[Seasar-user:13510] Re: [DBFlute] H2でBOOL(BIT)として定義したカラムがString型で生成される
kubo
[E-MAIL ADDRESS DELETED]
2008年 4月 1日 (火) 14:00:42 JST
久保です。
橋本さん、ご報告ありがとうございます!
> か?この点に関して、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 メーリングリストの案内