0

我有一个带有复合键的实体

@Entity
data class Page(
  @EmbeddedId
  val pageId : PageId,
  ...
)

@Embeddable
data class PageId (
  @Column(name = "id")
  val id: UUID,
  @Column(name = "is_published")
  val isPublished: Boolean
)

但我需要尊重 db 表中现有的列名,它们是 'id' 和 'is_published' 但是使用 JDBCRepository 查询 db 时出现错误:

执行查询的 SQL 错误:错误:列 page_.page_id_published 不存在

有什么方法可以正确映射列吗?

4

1 回答 1

0

尝试和错误使我得到了答案,不知何故 Micronaut 不喜欢将布尔值命名为“isPublished”,当我将其重命名为“已发布”时,它可以正常工作:

data class PageId (
    @MappedProperty(value  = "id")
    val id: UUID,
    @MappedProperty(value = "is_published")
    val published: Boolean)
于 2020-05-28T09:10:04.960 回答