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