一尘不染

Hibernate JPA如何在persistence.xml中配置动态更新

hibernate

我不想在我的java源代码中进行配置,可以像这样完成:

@org.hibernate.annotations.Entity(
        dynamicUpdate = true)

因为我希望它是可配置的。

我不使用hibernate.properties,而仅使用persistence.xml,就像我使用JPA一样。我怎样才能使dynamicUpdate作为true使用的所有实体persistence.xml只?


阅读 375

收藏
2020-06-20

共1个答案

一尘不染

您正在将JPA标准与Hibernate实现一起使用。在这种情况下,您尝试配置特定于Hibernate实现的内容,而不是JPA标准的一部分。如果它是有助于配置实现的属性,则可以通过persistence.xml将许多属性传递给实现,但是在这种情况下,如果您尝试为每个实体配置属性,则必须这样做。hibernate方式。您可能已经通过Bozho的非常相似的答案看到了这个问题。

有了所有这些,如果您决定继续使用org.hibernate。*注释进行配置,则由于注释值必须是常量表达式,因此您将无法使其真正可配置。

一个有趣的解决方案是在启动侦听器中修改某些持久性类并添加属性。

2020-06-20