使用以下代码,
实体:
@Column
@Enumerated(value = EnumType.STRING)
private MyStatusEnum status;
public enum MyStatusEnum {
ENABLED,
DISABLED
}
存储库方法:
@Transactional
@Modifying
@Query("UPDATE MyEntityClass e SET e.status = 'ENABLED'")
int setEnabledStatus();
当尝试启动应用程序时,我得到了以下异常:... Caused by: org.hibernate.query.SemanticException: The assignment exppression type [java.lang.String] did not match the assignment path type [...MyStatusEnum] for the path [e.status] [UPDATE MyEntityClass e SET e.status = 'ENABLED']
有人遇到过同样的问题吗?我用的是Spring Boot3.0.2
1条答案
按热度按时间uurv41yg1#
您必须使用枚举值,而不是字符串:
因为JPA使用对象