eclipselink.weaving 属性 的值及其差异是什么?

What are the values and their differences for eclipselink.weaving property?

eclipselink.weaving 属性 有哪些值,它们的含义是什么?

在Spring中我们可以使用Java配置或XML配置来创建entityManager,下面的例子是针对XML:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="jpaProperties">
        <props>
            <prop key="eclipselink.weaving">false</prop>
            ...
        </props>
    </property>
   ...
</bean>

我们有以下选择:

false 是什么意思?我们可以将哪些选项传递给 eclipselink.weaving 属性?

编辑: 我想在编译时配置编织。我正在使用这个 Maven 插件

<groupId>com.ethlo.persistence.tools</groupId>
<artifactId>eclipselink-maven-plugin</artifactId>

我应该使用什么值 falsestatic

eclipselink.weaving 属性 状态 3 值的 Javadoc:

  • "true" - 要求编织完成。将抛出异常,如果 实体不是编织的
  • “false”- 强制不进行编织
  • "static" - 要求使用静态编织实用程序来编织 实体

True aka Dynamic 意味着有一个代理将在 JVM 中编织实体。请参阅 doc for setting it up outside of a container. Static tells EclipseLink you've done the weaving yourself on the java classes within the class loader (see the wiki 以了解如何设置),而 false 会关闭任何需要 woven 类 的选项(更改跟踪、惰性一对一等)。