2

Firebird データベースは読み取り専用列をサポートしています。値が計算され、更新されていない列。MyBatis ジェネレーターを使用して読み取り専用の列を持つテーブルをマップすると、テーブルへの挿入またはテーブルの更新中に次のエラーが表示されます。

org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544359. attempted update of read-only column.

MyBatis Generator を使用してこの種の列を処理するにはどうすればよいですか? この種の列を無視する挿入ステートメントと更新ステートメントを使用することは可能ですか?

:読み取り専用の列の値をとを使用する代わりにとして使用insertSelectiveして渡すと、他のフィールドを に更新したくない場合のみ解決されます。だから、私は別の解決策が必要です。updateSelectivenullinsertupdatenull

4

1 に答える 1

1

MyBatis は、読み取り専用列に対する追加サポートを提供していません。したがって、ターンアラウンドの解決策は、ignoreColumnタグで読み取り専用の列を設定し、マッパーで @Select アノテーションを使用して、その列の値を必要とするクエリを手動で記述することです。

<table tableName="...">
    ...
    <ignoreColumn column="<read only column>" /> 
    ...
</table>
于 2013-10-30T18:29:32.050 に答える