gpt4 book ai didi

hibernate - 我应该使用 Kotlin 数据类作为 JPA 实体吗?

转载 作者:行者123 更新时间:2023-12-02 11:53:38 24 4
gpt4 key购买 nike

我最近正在使用 Kotlin 和 JPA 进行开发。
我使用 Kotlin 数据类作为 JPA @Entity 类。

但是现在,关系出现了一些问题

@ManyToOne(fetch = FetchType.LAZY, optional = true)

延迟获取不适用于数据类。

我了解到 Kotlin 数据类默认为“final”,因此 Hibernate 无法为它们生成代理。

我想知道将 Kotlin 数据类用作 JPA @Entity 类是否是一个错误,或者还有其他方法可以使延迟获取与数据类一起正常工作。

最佳答案

This Spring official guides表明我们不应该将 kotlin 数据类与 spring-data-jpa 一起使用。
他们说什么:

Here we don’t use data classes with val properties because JPA is not designed to work with immutable classes or the methods generated automatically by data classes. If you are using other Spring Data flavor, most of them are designed to support such constructs so you should use classes like data class User(val login: String, …​) when using Spring Data MongoDB, Spring Data JDBC, etc.

关于hibernate - 我应该使用 Kotlin 数据类作为 JPA 实体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58127353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com