gpt4 book ai didi

java - Spring Data JPA/hibernate "Unable to locate Attribute with the given name"

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

我们遇到了 Spring Web 应用程序和 Hibernate 的问题。它是用 Kotlin 编写的。
我们有一个抽象实体

@Inheritance(strategy = InheritanceType.JOINED)
abstract @Entity class ContactLogEntry protected constructor() {

@GeneratedValue @Id val id: Long = 0


@ManyToOne
@JoinColumn
protected lateinit var _contact: AbstractContact
open val contact: AbstractContact? get() = _contact

@ManyToOne
protected var _user: User? = null
open val user: User? get() = _user

其中一些:
@Entity class MailLogEntry() : ContactLogEntry() {


override var contact: Lead
get() = super.contact as Lead
set(value) {
super._contact = value
}

override var user: Telephonist
get() = super.user as Telephonist
private set(value) {
super._user = value
}

请注意,“Lead”直接继承自“AbstractContact”。问题在于属性 contact . Telephonist 直接从 User 继承的 User 属性可以正常工作。

我们得到 Unable to locate Attribute with the the given name [contact] on this ManagedType (PATH to ContactLogEntry)
我们以前也这样做过,它在哪里起作用。真的不知道怎么了。

最佳答案

在我的情况下,使用纯java,原因是抽象的@MappedSuperClass根据接口(interface)定义了抽象的getter/setter方法,但没有定义实际的成员字段。

从抽象类中删除 getter/setter 方法后,错误就消失了,毕竟不需要它们。高温高压

关于java - Spring Data JPA/hibernate "Unable to locate Attribute with the given name",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41636745/

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