微型数据和复合键映射



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

@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 查询数据库时,我得到错误:

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

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

尝试和错误导致我找到答案,不知何故,Micronaut 不喜欢将布尔值命名为"isPublished",当我将其重命名为"已发布"时,它工作正常:

data class PageId (
@MappedProperty(value  = "id")
val id: UUID,
@MappedProperty(value = "is_published")
val published: Boolean)

最新更新