spring-boot - JPA 实体映射上的重复列映射
问题描述
我花了一整天的时间试图了解正在发生的事情并找到解决方法。我有一个 JPA 映射实体,除了其他属性外,它还具有以下内容:
@Entity
@Table(name = "xyz")
data class XYZ(
...
@Column(name = "status", nulable = false)
@Enumerated(EnumType.STRING)
private var initialStatus: XYZStatus,
...
) {
@Transient
var status: XYZStatus = initialStatus
get() = initialStatus
set(nextStatus) {
...
initialStatus = nextStatus
field = nextStatus
}
}
自此类首次创建以来,这一直有效。现在的情况是,每次我在 Intellij IDEA(Ultimate 2018.2)上运行集成测试时,它们都会失败,因为无法创建 Spring 上下文。错误是:Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: model.XYZ column: status (should be mapped with insert="false" update="false")
。
奇怪的部分:这个错误只发生在我的机器上,只有在从 IDE 内部运行测试时才会发生。如果我在命令行上通过 Maven 运行测试就可以了。我已经尝试将字段名称从status
更改为其他名称,而错误只是更改了我给变量的“其他”名称。
我已经删除并再次克隆了我的回购。已经删除并重新安装了 Intellij。我真的不知道这个错误的根源是什么。有任何想法吗?
谢谢!
解决方案
推荐阅读
- docker - 如何正确使用 docker 临时容器
- c - 打印一个整数,中间有空格
- webpack - Webpack:使用 config 或 Build per environment 进行一次构建和重用
- javascript - yarn test(jest) 找不到使用 create-react-app 的测试
- java - 如何使用 IInjectorFactory
- java - 如何使用 Java GUI 中的 jFormattedTextfield 仅输入日期
- python - 是否有一个类似数组的类可以实现按字母顺序添加单词的快速搜索?
- python - Anaconda 未激活
- python - 协同信号的逆排列错误解决方案?
- keras - pytorch的交叉熵损失与keras的“categorical_crossentropy”不同吗?