我正在使用 Spring(Boot)构建一个 REST Web 服务,并尝试在没有任何 xml 配置的情况下使用休眠作为 orm 映射器。
我基本上让它工作了,但我遇到了配置问题。我在 @Configuration 文件中实例化LocalContainerEntityManagerFactoryBean
。@Bean
我设置hibernate.ejb.naming_strategy
在下面的示例中设置 -> 如果它们不存在,这似乎适用于创建表(列名是我的@Entity类中的camelCase)但是当执行查询时,休眠“忘记”这个命名配置和尝试使用带有 under_score_attributes 的另一种命名策略 --> 显然这些查询失败了。我还需要设置其他属性吗?
或者另一种配置属性的方式最好不添加cfg.xml
或persistence.xml
?
LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
Properties props = new Properties();
props.put("hibernate.hbm2ddl.auto", "create");
props.put("hibernate.ejb.naming_strategy","org.hibernate.cfg.DefaultNamingStrategy");
lef.setJpaProperties(props);
lef.afterPropertiesSet();