gpt4 book ai didi

java - 在 Tomcat 7/8 中部署时,Hibernate 4 不创建表

转载 作者:行者123 更新时间:2023-11-28 22:02:40 26 4
gpt4 key购买 nike

是的,这听起来很疯狂,但是当我在 Tomcat 中部署我的 WAR 时,“hibernate.hbm2ddl.auto”属性被忽略了。我有一个使用 Maven 构建 WAR 的 Spring MVC 项目。部署该 WAR 后,我可以从日志中看到它没有按预期创建/更新表。

如果我运行集成测试(使用 junit 和 Spring 的模拟 servlet),它工作正常,或者如果我将相同的 JAR 部署到 Jetty,它也能正常工作。 Hibernate 对于 H2 和 MySQL 的工作/失败相似。

当在 Tomcat 中运行时,如果表已经存在,我的数据库可以很好地连接到数据库,查询也可以正常工作,只是它们没有被创建/更新。

我以为可能是我的Tomcat 7版本,所以我升级到Tomcat 8但还是不行。我已经在我的机器上和 Elastic Beanstalk 上试过了。

这不是一个大问题,但却是一个非常烦人的未解之谜,如果有人有任何想法,我将不胜感激!

东西是根据环境配置的,但要给出它看起来像什么的想法

hibernate 配置...

@Configuration
public class PersistenceJPAConfig {
@Bean(name = "entityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(DataSource dataSource, Environment environment) throws IOException {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(dataSource);
entityManagerFactoryBean.setPackagesToScan("...removed...");
entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);

Resource resource = new ClassPathResource("hibernate.test.properties");
Properties jpaProperties = new Properties();
jpaProperties.load(resource.getInputStream());
entityManagerFactoryBean.setJpaProperties(jpaProperties);

return entityManagerFactoryBean;
}

@Bean
public BoneCPDataSource dataSource(Environment environment) throws Exception {
BoneCPConfig config = new BoneCPConfig("test");

return new BoneCPDataSource(config);
}
}

hibernate .test.properties...

hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl.auto=update

bonecp-config.xml…

<named-config name="development">
<property name="jdbcUrl">jdbc:mysql://localhost/musicdev</property>
<property name="username">root</property>
<property name="password"></property>
</named-config>

最佳答案

您是否尝试过在 web.xml 的根元素中将 meta-data-complete 属性设置为 false?

关于java - 在 Tomcat 7/8 中部署时,Hibernate 4 不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com