Spring Boot 在Sping Boot AOT编译的本机映像中无法识别从AbstractPersistable继承的id属性

eh57zj3b  于 2022-12-18  发布在  Spring
关注(0)|答案(1)|浏览(171)

我已经将一个 Boot 应用程序迁移到SpringBoot 3并编译了一个本机映像,该应用程序使用SpringDataREST公开了一个简单的实体(见下面的代码)。
在应用程序启动过程中,它终止并报告未检测到标识符属性。

Caused by: org.hibernate.AnnotationException: Entity 'at.martinahrer.cd.model.Address' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property)

因此,提供@Id annnotated id属性的基类的Map信息似乎已经丢失。
在将AbstractPersistable的代码复制到我的代码库并重建本机映像之后,应用程序可以正常启动并工作。

package at.martinahrer.cd.model;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.jpa.domain.AbstractPersistable;
import jakarta.persistence.Entity;

@Entity
@Getter
@Setter
public class Address extends AbstractPersistable<Long> {
    private String line1;
    private String line2;
    private String zip;
    private String city;
    private String state;
    private String country;
}
tjvv9vkg

tjvv9vkg1#

尝试使用类似以下内容替换ID:

@Id
@Override
public UUID getId() {
    return super.getId();
}

相关问题