簡體   English   中英

為什么在JPA元模型中所有字段都為空?

[英]Why are all fields null in JPA Metamodel?

我只是在學習JPA標准和元模型。 我發現以下元模型示例:

@StaticMetamodel( Person.class )
public class Person_ {
    public static volatile SingularAttribute<Person, Long> id;
    public static volatile SingularAttribute<Person, String> name;
    public static volatile SingularAttribute<Person, Integer> age;
    public static volatile SingularAttribute<Person, Address> address;
    public static volatile SetAttribute<Person, Order> orders;
}

此元模型的所有字段均為空。 因此,任何人都可以在以下示例中解釋JPA提供程序如何獲取字段名稱:

criteria.where(builder.equal( personRoot.get( Person_.age ), 50));

這些字段在運行時不為null,因為JPA實現將所有這些公共靜態字段設置為非null值。

摘錄自規范(6.2.2-自舉):

創建持久性單元的實體管理器工廠時,持久性提供者有責任初始化持久性單元的元模型類的狀態。

暫無
暫無

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

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