JPA实体映射上的重复列映射

时间:2018-11-15 15:13:53

标签: spring-boot jpa intellij-idea kotlin transient

我已经整整一天都在试图了解正在发生的事情并找到解决办法。我有一个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(最终版本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。我真的不知道该错误的根源是什么。有什么想法吗?

谢谢!

0 个答案:

没有答案