为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 JPA 元模型中的所有字段都是空的?

为什么 JPA 元模型中的所有字段都是空的?

慕斯709654 2023-03-02 16:29:55
我只是在学习 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));
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

这些字段在运行时不为空,因为 JPA 实现将所有这些公共静态字段设置为非空值。

规范摘录(6.2.2 - Bootstrapping):

当持久化单元的实体管理器工厂被创建时,持久化提供者负责初始化持久化单元的元模型类的状态。


查看完整回答
反对 回复 2023-03-02
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信