gpt4 book ai didi

java - Hibernate架构迁移设置命名策略

转载 作者:行者123 更新时间:2023-12-01 10:06:30 25 4
gpt4 key购买 nike

我有一个默认使用 SpringNamingStrategy 的 Spring JPA 应用程序,它与 ImprovedNamingStrategy 非常接近。

我正在编写一个帮助程序,它使用 hibernate 类来生成用于架构更新的脚本。

    public class MigrationHelper {

public static void main(String[] args) throws SQLException {
DataSource dataSource = DataSourceBuilder.create()
.driverClassName("oracle.jdbc.driver.OracleDriver")
.url("jdbc:oracle:thin:@localhost:1521:ORCL")
.username("mqcompare")
.password("mqcompare")
.build();

LocalSessionFactoryBuilder sessionFactory = new LocalSessionFactoryBuilder(dataSource);
sessionFactory.scanPackages("com.company.mqmsgcom.entity");
//this doesen't work
sessionFactory.setProperty("hibernate.ejb.naming_strategy", "org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy");
Dialect dialect = new Oracle10gDialect();
DatabaseMetadata metadata = new DatabaseMetadata(dataSource.getConnection(), dialect, sessionFactory);
List<SchemaUpdateScript> scripts = sessionFactory.generateSchemaUpdateScriptList(dialect, metadata);

Formatter formatter = FormatStyle.DDL.getFormatter();
for (SchemaUpdateScript script : scripts) {
System.err.println(formatter.format(script.getScript()) + ";");
}
}
}

脚本引用:here

如何在此代码中设置命名策略?

编辑:Hibernate 版本是 4.3.11 Final。

最佳答案

hibernate.ejb.naming_strategy 用于JPA。您可以通过 LocalSessionFactoryBuilder#setNamingStrategy() 设置命名策略。

看起来,Hibernate 4 中没有一个属性可以将命名策略设置为 Configuration 作为属性。

关于java - Hibernate架构迁移设置命名策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421181/

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