gpt4 book ai didi

java - 如何在运行时在 Spring Boot 上运行 CUSTOM DDL DML ...,而不强制 Hibernate

转载 作者:行者123 更新时间:2023-11-30 10:35:14 25 4
gpt4 key购买 nike

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

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

最佳答案

Spring JDBC 有一个DataSource 初始化器特性。 Spring Boot 默认启用它并从标准位置 schema.sqldata.sql(在类路径的根目录中)加载 SQL。此外,Spring Boot 将加载 schema-${platform}.sqldata-${platform}.sql 文件(如果存在),其中 platform 的值为spring.datasource.platform,例如您可以选择将其设置为数据库的供应商名称(hsqldb、h2、oracle、mysql、postgresql 等)。可以通过设置 spring.datasource.schema 来更改脚本位置>spring.datasource.data,如果spring.datasource.initialize=false,这两个位置都不会被处理。

更多here

如果你将 hibernate jar 放在你的类路径中,那么 Spring 的自动配置将接管并认为你想要用户 Hibernate。因此,请确保您的类路径中没有这些 jar。

关于java - 如何在运行时在 Spring Boot 上运行 CUSTOM DDL DML ...,而不强制 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41300136/

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