当前位置: 首页 > 知识库问答 >
问题:

从spring boot中包括Hibernate核心

公羊绪
2023-03-14

我有一个gradle项目,它有以下依赖关系:

dependencies {
    compile("com.googlecode.json-simple:json-simple:1.1.1")
    compile("org.hibernate:hibernate-c3p0:5.2.12.Final")
    compile("mysql:mysql-connector-java:5.1.44")
    compile("org.springframework.boot:spring-boot-starter-aop")
    compile("org.springframework.boot:spring-boot-starter-web")
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2'
}

并具有以下应用Spring Boot插件的功能:

apply plugin: 'org.springframework.boot'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-html" target="_blank">gradle-plugin:1.5.9.RELEASE")
    }
}

我遇到的问题是,当我包含Spring Boot插件时,一个旧版本的hibernate内核似乎正在导入到我的项目中(5.0.12.Final)。但我的代码使用的是5.2.12。最终的hibernate核心库。

我不能确切地理解为什么hibernate核心库附带Spring引导插件,因为我看不到它在maven中心的依赖项中列出,但是当我删除该依赖项时,旧版本的hibernate似乎消失了。

我在声明依赖项时尝试了排除模块,但在buildscript部分排除模块时,这在语法上似乎不正确。

其他人有这个问题吗?有什么办法可以排除那个版本吗?或者也许我的设置是错误的...任何帮助将不胜感激:)

共有1个答案

杜禄
2023-03-14

经过几个小时后,我终于明白了这一点/经过更多的研究,现在似乎很明显,问题是由于spring boots自己的依赖关系管理,所以我所要做的就是指定我想要使用的特定模块的版本(如果spring boot已经包括它),并且它工作了!以下是我添加到构建中的内容。xml文件

dependencyManagement {
    dependencies {
        dependency 'org.hibernate:hibernate-core:5.2.12.Final'
    }
}
 类似资料:
  • 问题:“main.xsd”是一个有效的xml模式文档吗? 当使用解析器(或从python库(该库反过来使用xmllint)进行验证时,我会得到以下错误: 元素“{http://www.w3.org/2001/xmlschema}Element”,属性“ref”:不允许从该架构引用命名空间“http://imported”中的组件,因为没有由import语句指示。WXS架构main.xsd编译失败

  • 我在项目中使用Entity Framework Core 6.0,我有以下代码结构: (为简单起见,省略了其他字段) 我想加载所有游戏的所有数据,因此在我的服务类中,我会: 然而,它看起来很难看,占用了很多线。有没有办法简化这段代码? 另外,我不想在整个上下文中使用延迟加载,所以在这里它不是一个选项。

  • 我们刚刚开始使用Hibernate Envers,它可以很好地记录更改的内容,但是,有没有一种方法可以在更改发生时记录? 那么,它能否向audit表中添加一个datetime列呢? 根据Envers文档,默认情况下应该发生以下情况: 当Envers启动新的修订时,它会创建一个新的修订实体,该实体存储有关修订的信息。默认情况下,这只包括 null 谢谢

  • 主要内容:1. Configuration,2. SessionFactory,3. Session,4. Transaction ,5. Query在 Hibernate 中有 5 个常用的核心接口,它们分别是 Configuration 接口、SessionFactory 接口、Session 接口、Transaction 接口和 Query 接口。本节,我们就对这 5 个核心接口进行详细讲解。 1. Configuration 正如其名,Configuration 主要用于管理 Hiber

  • 当我只保留一个主键--无论是CFO_ID还是LAST_UPDATE_DTS,并完全删除Idclass时,它工作得非常好。这让我认为idclass有问题,但我找不到任何问题。有人能帮忙吗?

  • 好的,这是我们得到的: 我们有两个库包,我们已经将它们编译成JAR。 我们用 而且 给我们装进罐子里。 现在我们想将这两个罐子包含到另一个Java项目中。 所以我们有 /project/src/a_pack/helloworld. /project/libs/starwars.jar /project/libs/barwars.jar /project/manifest.txt MANIFEST.