Criteria APIのログ出力のバグ? #893
-
環境: テーブルのColumnをtinyint(1)を定義すると、domaのcodegenを利用して、Booleanのフィルドを生成します。
アプリ自体の動きは問題ございませんが、SQLログだけは上記のようになります。 これはバグかどうか、ご確認いただけませんか? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
共有ありがとうございます。 ちなみに、2.53.1でも下記リンク先のメソッドをオーバーライドするようなコードを書くことで対応ができます。 (MysqlSqlLogFormattingVisitorを継承したクラスでオーバーライドし、MysqlSqlLogFormattingVisitorのインスタンスをMysqlDialectのコンストラクタに渡すようにします) |
Beta Was this translation helpful? Give feedback.
共有ありがとうございます。
SQLの真偽値のリテラルをどう表現するかはDBMSごとに違いがあります。例えばSQL Serverではsingle quotationで囲む必要があるのですがMySQLでは異なるようですね。次のバージョンではMySQLの場合は囲まないように修正しようと思います。
ちなみに、2.53.1でも下記リンク先のメソッドをオーバーライドするようなコードを書くことで対応ができます。
https://github.com/domaframework/doma/blob/2.53.1/doma-core/src/main/java/org/seasar/doma/jdbc/dialect/StandardDialect.java#L591
(MysqlSqlLogFormattingVisitorを継承したクラスでオーバーライドし、MysqlSqlLogFormattingVisitorのインスタンスをMysqlDialectのコンストラクタに渡すようにします)