使用tk 通用mapper中踩到的坑
话说今天要修改一个实体类是枚举类型的数据库的值,但是一直修改失败,报错
### SQL: UPDATE xxx WHERE ( order_id = ? )
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ( order_id = '114' )' at line 1
update语句没有set? WTF…
话不多说,直接上代码。
实体类 WareOrderTask
@Column(name = "task_status")
@ColumnType(jdbcType = JdbcType.VARCHAR)
private TaskStatus taskStatus;
TaskStatus 是枚举类型的
public enum TaskStatus {
PAID("已付款"),
DEDUCTED("已减库存"),
OUT_OF_STOCK("已付款,库存超卖"),
DELEVERED("已出库"),
SPLIT("已拆分");
}
结果在调试的时候发现
后来经过排查,在application.properties中复制漏了加入如下配置:
mapper.enum-as-simple-type=true
问题解决,bingo