Spring Boot 为什么在使用复合键对一对多关系建模时会收到ClassCastException?

lfapxunr  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(123)

我试图建模一个一对多的关系,其中外键是复合键的一部分。不幸的是,我遇到了以下错误消息:
第一个月
我的实体如下:

  1. @Entity
  2. @Table(name = "point_in_time")
  3. class PointInTime(
  4. @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
  5. var id: Long,
  6. val title: String,
  7. val note: String,
  8. @OneToMany(mappedBy = "symptom")
  9. val symptoms: Set<Symptom>
  10. ) {
  11. @field:Column(updatable = false)
  12. val createdAt: Instant = Instant.now()
  13. }
  1. @Entity
  2. @Table(name = "symptom")
  3. @IdClass(SymptomId::class)
  4. class Symptom(
  5. @ManyToOne(optional = false)
  6. @Id
  7. @JoinColumn(name = "point_in_time_id", nullable = false)
  8. val pointInTime: PointInTime,
  9. @Id
  10. val category: String,
  11. @Id
  12. val symptom: String,
  13. val strength: Strength
  14. )
  1. class SymptomId (
  2. val pointInTime: Long,
  3. val category: String,
  4. val symptom: String
  5. ): Serializable

这个异常的原因是什么,我如何避免它?

qyzbxkaa

qyzbxkaa1#

这似乎是其中一个依赖项中的一个简单bug。我通过从spring Boot 版本3. 1. 4到3. 2. 1修复了这个问题。

相关问题