我不想在我的 java 源代码中进行配置,可以这样做:
@org.hibernate.annotations.Entity(
dynamicUpdate = true)
因为我希望它是可配置的。
我没有使用hibernate.properties,只有persistence.xml,因为我使用的是JPA。我怎样才能使所有实体dynamicUpdate
只使用?true
persistence.xml
我不想在我的 java 源代码中进行配置,可以这样做:
@org.hibernate.annotations.Entity(
dynamicUpdate = true)
因为我希望它是可配置的。
我没有使用hibernate.properties,只有persistence.xml,因为我使用的是JPA。我怎样才能使所有实体dynamicUpdate
只使用?true
persistence.xml
您正在将 JPA 标准与 Hibernate 实现一起使用。在这种情况下,您尝试配置特定于 Hibernate 实现而不是 JPA 标准的一部分的东西。如果它是一个有助于配置实现的属性,那么其中许多可以通过 persistence.xml 传递给实现,但是在这种情况下,您尝试为每个实体配置属性,您将不得不这样做休眠方式。您可能已经在 Bozho 的回答中看到过这个问题。
尽管如此,如果您决定继续使用 org.hibernate.* 注释进行配置,您将无法真正使其可配置,因为注释值必须是常量表达式。
一个有趣的解决方案是在启动监听器中修改所有持久类并添加属性。您可以读取配置的值并使用该问题的答案中描述的机制进行设置。