使用MyBatis Generator映射的只读列

时间:2013-04-03 23:07:42

标签: firebird mybatis firebird2.5 ibator

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

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

如何使用MyBatis Generator处理这种色谱柱?是否可以使用insert和update语句忽略这种列?

注意: 使用insertSelectiveupdateSelective将只读列值传递为null,而不是使用insertupdate,只会解决我不喜欢的情况我想将其他字段更新为null。所以,我需要另一种解决方案。

1 个答案:

答案 0 :(得分:1)

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

<table tableName="...">
    ...
    <ignoreColumn column="<read only column>" /> 
    ...
</table>