Hibernate ORM

工具

Hibernate 为开发人员提供了一系列工具,供他们在工具链中使用。最突出的工具是 Hibernate Tools,它是 Eclipse 插件集,也是 JBoss Tools 的一部分。但还有更多...

Hibernate 元模型生成器

Hibernate 元模型生成器是一个注释处理器,它自动生成 JPA 2 定义的类型安全 Criteria 查询所需的静态元模型类。例如,对于类 Order

@Entity
public class Order {
    @Id
    @GeneratedValue
    Integer id;
    @ManyToOne
    Customer customer;
    @OneToMany
    Set<Item> items;
    BigDecimal totalCost;
    // standard setter/getter methods
}

它将生成元模型类 Order_

@StaticMetamodel(Order.class)
public class Order_ {
    public static volatile SingularAttribute<Order, Integer> id;
    public static volatile SingularAttribute<Order, Customer> customer;
    public static volatile SetAttribute<Order, Item> items;
    public static volatile SingularAttribute<Order, BigDecimal> totalCost;
}

这反过来又允许编写如下查询

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Order> cq = cb.createQuery(Order.class);
SetJoin<Order, Item> itemNode = cq.from(Order.class).join(Order_.items);
cq.where( cb.equal(itemNode.get(Item_.id), 5 ) ).distinct(true);

要使用 Hibernate 元模型生成器,您可以将其添加为注释处理器到您的类路径:Gradle 的详细信息Maven 的详细信息

有关更多信息和设置选项,请参阅 在线文档

在 Hibernate ORM 4.3 之前,Hibernate 元模型生成器是一个 独立项目。从 ORM 4.3 开始,它已成为主要 ORM 版本的一部分。问题应在 ORM 问题跟踪器 中报告。

返回顶部