首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >init之前的Hibernate config.Run sql脚本

init之前的Hibernate config.Run sql脚本
EN

Stack Overflow用户
提问于 2017-12-05 21:51:32
回答 1查看 1K关注 0票数 0

我在我的项目中使用h2内存数据库,我想在启动之前运行几个sql脚本。这是我的配置:

hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.show_sql=true hibernate.hbm2ddl.auto=none hibernate.hbm2ddl.auto=none/db/script/insert-users.sql

但不起作用。如果我将hibernate.hbm2ddl.auto更改为createcreate-drop,它将尝试基于带注释的实体创建表。但是我想通过创建表和插入用户来运行自己的sql脚本。Java配置:

代码语言:javascript
复制
@Bean
public LocalSessionFactoryBean sessionFactory() {
    LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
    sessionFactory.setDataSource(restDataSource());
    sessionFactory.setPackagesToScan(
            new String[]{"org.training.ytaranau"});
    sessionFactory.setHibernateProperties(hibernateProperties());

    return sessionFactory;
}
 Properties hibernateProperties() {
    return new Properties() {
        {
            setProperty("hibernate.hbm2ddl.auto",
                    env.getProperty("hibernate.hbm2ddl.auto"));
            setProperty("hibernate.dialect",
                    env.getProperty("hibernate.dialect"));
            setProperty("hibernate.globally_quoted_identifiers",
                    "true");
            setProperty("hibernate.hbm2ddl.import_files",
                    env.getProperty("hibernate.hbm2ddl.import_files"));
        }
    };
}

我能做到吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-24 08:56:57

您可以在下面设置hibernate的属性,然后可以执行一些脚本。

代码语言:javascript
复制
javax.persistence.schema-generation.create-source
javax.persistence.sql-load-script-source

     <property name="javax.persistence.schema-generation.drop-script-source" value="META-INF/drop-script.sql"/>
     <property name="javax.persistence.schema-generation.create-script-source" value="META-INF/create-script.sql"/>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47663247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档