gpt4 book ai didi

jpa - Kotlin JPA 继承建议

转载 作者:行者123 更新时间:2023-12-02 00:59:23 25 4
gpt4 key购买 nike

我想要的是有两种从一个用户父类(super class)继承的用户类型。当我通过用户名/密码对用户进行身份验证时,我不在乎他们当时是谁。然而,一旦他们登录后开始提出请求,它就会变得很重要。

我不知道我应该为此使用什么用于继承类型和 kotlin 中的存储库。

@MappedSuperClass
open class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val Id: Long = 0

val username:String = ""

val password:String = ""
}

类型1
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
data class Type1(
val property1: String) : User
{
val property2: String = ""
}

类型2
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
data class Type2(
val property1: String) : User
{
val property2: String = ""
}

我想要的是一个用户存储库,以便能够查看用户名和密码,然后是其他两个存储库以获取每个的特定属性。我试过
@Repository
interface UserRepository: JpaRepository<User, Long> {
fun getUserByUsername(username: String)
}

进而
@Repository
interface Type1Repository: UserRepository<Type1, Long>

但它不会接受类型 1 存储库中的 <>。

我还没有找到关于 kotlin 的好资源。如果你知道一个,请传递它。谢谢。

最佳答案

如此处所示:https://ideone.com/JmqsDn您只是缺少中间界面中的类型,即:

interface UserRepository<User, Long>: JpaRepository<User, Long> {
fun getUserByUsername(username: String)
}

旁注:要从其他类继承数据类,需要 kotlin 1.1+。

关于jpa - Kotlin JPA 继承建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51695959/

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