全局设置Hibernate访问策略?

时间:2020-05-11 15:03:14

标签: java hibernate

根据Hibernate documentation@Id批注的位置决定了Hibernate如何访问实体(字段或访问者)

作为JPA提供者,Hibernate可以同时检查实体属性(实例字段)或访问器(实例属性)。默认情况下,@ Id注释的位置提供默认的访问策略。当放在一个字段上时,Hibernate将假定基于字段的访问。 Hibernate放在标识符getter上,将使用基于属性的访问。

是否可以通过属性进行全局定义(以避免在每个实体或可嵌入对象上放置@Access(AccessType.FIELD))?

我找到了this related question,但这是专门用于Spring Boot的。

1 个答案:

答案 0 :(得分:0)

您可以创建一个名为orm.xml的文件并将其放在目录META-INF中的类路径中。

在该文件中,您可以设置默认值。例如访问类型:

<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings>
    <persistence-unit-metadata>
            <access>PROPERTY</access>
    </persistence-unit-metadata>
</entity-mappings>

您可以在此处找到XML模式:https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/resources/org/hibernate/jpa/orm_2_2.xsd