我目前面临有关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期间或之后要使用的命名策略的实例?
在此先感谢您的答复!