[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 メーリングリストの案内