Javax持久性EntityManagerFactory提供ImplicitNamingStrategy的实例

时间:2018-08-03 13:17:03

标签: java hibernate persistence

我目前面临有关Java EntityManagerFactory的一些问题。

我想使用一种特定的自我实现的命名策略。假设实体是用@Entity(name = "fancy_object")注释的,命名策略是将该实体映射到名为 example_fancy_object 的数据库表中。或换句话说:它添加一个前缀。

但是,在persistence.xml中,我可以使用以下命令定义命名策略的类:

<property name="hibernate.implicit_naming_strategy"
    value="some.fully.qualified.path.to.NamingStrategy"/>

这将使用无参数构造函数实例化命名策略。不幸的是,我确实在运行时才知道前缀(例如 example _ )。因此,以下代码也无法解决我的问题:

Properties props = new Properties();
props.set("hibernate.implicit_naming_strategy", "some.fully.qualified.path.to.NamingStrategy");
entityMangerFactory = Persistence.createEntityManagerFactory("persistence-unit-name", props);

是否有可能提供在创建EntityManagerFactory期间或之后要使用的命名策略的实例

在此先感谢您的答复!

0 个答案:

没有答案