2

Firebird 数据库支持只读列。已计算其值但未更新的列。如果我使用 MyBatis Generator 映射一些带有只读列的表,我在插入或更新表时收到以下错误:

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

如何使用 MyBatis Generator 处理这种列?是否有可能忽略这种列的插入和更新语句?

注意:使用insertSelectiveupdateSelective传递只读列值 asnull而不是使用insertandupdate只会解决我不想将其他字段更新为null. 所以,我需要另一个解决方案。

4

1 回答 1

1

MyBatis 不提供对只读列的额外支持。因此,周转解决方案是使用标记设置只读列,ignoreColumn并使用映射器中的@Select 注释手动编写需要该列值的查询。

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