はじめに
MyBatis-Plusはエンティティクラスのすべてのフィールドをテーブルの対応するカラムにマッピングするため、テーブルに存在しないフィールドがある場合はMyBatis Plusに無視される(生成されるSQL文に含まれない)ようにする必要がある。
解決方法
1. @TableField
アノテーションを使用する
@TableField(exist = false)
を付与して、このフィールドがテーブルに存在しないことを示す
Entity
@TableField(exist = false)
private String noColumn;
@TableField
のドキュメント:
2. transient
修飾子を付ける
transient
修飾子を付けたフィールドはシリアル化されない
Entity
private transient String noColumn;
3. static
修飾子を付ける
static
修飾子を付けるとクラス全体で共有されるため、あまり使用されない。
また、static変数はgetter, setterを手動で設定する必要がある。
Entity
private static String noColumn;
public static String getNoColumn() {
return noColumn;
}
public static void setNoColumn(String noColumn) {
User.noColumn= noColumn;
}
参考ページ