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