簡體   English   中英

Spring Data JPA 的@PersistenceConstructor 注釋是否與 Hibernate 結合使用?

[英]Does Spring Data JPA's @PersistenceConstructor annotation work in combination with Hibernate?

我希望 Hibernate 使用另一個構造函數而不是空構造函數,因為我有一些邏輯應該在對象創建時執行但取決於對象屬性。 我在這里讀到@PersistenceConstructor解決了這個問題。

我創建了這個示例實體:

@Entity
public class TestEntity
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @JsonIgnore
    public final Long id;

    public final int width;

    public final int height;

    @Transient
    private final double area;

    @PersistenceConstructor
    public TestEntity(Long id, int width, int height)
    {
        this.id = id;
        this.width = width;
        this.height = height;
        this.area = width * height;
    }

    public double getArea()
    {
        return this.area;
    }

    public interface TestEntityRepository extends CrudRepository<TestEntity, Long>
    {
    }
}

但是,當我嘗試從數據庫中檢索實例時,出現以下異常:

org.hibernate.InstantiationException: No default constructor for entity

我做錯了什么或者@PersistenceConstructor注釋在這種情況下不起作用嗎?

Spring Data @PersistenceConstructor不適用於 JPA。 它僅適用於不使用底層數據存儲的對象映射的模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM