如何 运行 CUSTOM DDL DML ... 在 Spring 启动 运行 时,不强制休眠

how to run CUSTOM DDL DML ... On Spring Boot at run time, Without Forcing Hibernate

如何访问数据库和运行自定义可执行文件或对其进行查询?经过一番搜索后,我发现我可以使用 sessionFactory,但我必须强制休眠作为数据处理程序,这让我担心它是否会在我的复杂应用程序部分产生不良影响或行为,具体取决于它将数据链接在一起的方式,或者它获取连接数据并处理它们的方式...所以我想使用 spring 默认值...另外,如果它不喜欢休眠,则可能意味着休眠速度较慢。我想访问在线会话(以前我在 C# 上使用 NHibernate,创建辅助会话可能会有问题),所以我想访问现有的数据库会话,除了当我使用 JpaRepository 和 运行 上的自定义命令它。所以我不会打扰其他会话或锁定:|

顺便说一句,我现在正在使用 HSQLDB...

Spring JDBC 具有 DataSource 初始化程序功能。 Spring Boot 默认启用它并从标准位置 schema.sqldata.sql(在类路径的根目录中)加载 SQL。此外 Spring Boot 将加载 schema-${platform}.sqldata-${platform}.sql 文件(如果存在),其中平台是 spring.datasource.platform 的值,例如您可以选择将其设置为数据库的供应商名称(hsqldb、h2、oracle、mysql、postgresql 等)。可以通过设置 spring.datasource.schemaspring.datasource.data 来更改脚本位置, 如果 spring.datasource.initialize=false.

则两个位置都不会被处理

更多here

如果您将休眠 jars 放入您的类路径中,那么 Spring 的自动配置将接管并认为您想要用户休眠。所以请确保你的类路径中没有那些罐子。