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

Micronaut数据-没有[org.hibernate.sessionFactory]类型的bean

寇桐
2023-03-14

首先要提的是-我把一切都准备好了。我所做的唯一更改是在代码中添加了更多的存储库。

然后我得到:

15:47:58.126[pool-2-thread-4]错误I.M.H.S.Netty.RoutingInboundHandler-出现意外错误:无法为Io.Micronaut.Transaction.Hibernate5.HibernateTransactionManager类的参数[sessionFactory]注入值

消息:对于给定的限定符@named('default')不存在[org.hibernate.sessionFactory]类型的bean。确保bean没有被bean要求禁用(为'io.micronaut.context.condition'启用跟踪日志以检查),如果bean被启用,则确保类被声明为bean并且注释处理被启用(对于Java和Kotlin,'micronaut-inject-'依赖项应该被配置为注释处理器)。采取的路径:新建HibernateTransactionManager([SessionFactory SessionFactor],DataSource DataSource,Interceptor entityInterceptor)IO.Micronaut.Context.Exceptions.DependencyInjectionException:无法为类IO.Micronaut.Transaction.Hibernate5.HibernateTransactionManager的参数[SessionFactor]注入值

我查了很多关于那方面的文章,但都提到了依赖者。但我没有改变我的依赖者。所以我开始调查。但至今没有成功。

我仔细检查了我的成绩

kapt 'io.micronaut.data:micronaut-data-processor:1.0.2'
implementation 'io.micronaut.data:micronaut-data-hibernate-jpa:1.0.2'
implementation 'io.micronaut.configuration:micronaut-jdbc-hikari'
runtime 'org.postgresql:postgresql:42.2.12'
testImplementation 'com.h2database:h2:1.4.200'

我还确保使用了正确的版本,但单元测试不会运行。

使用Gradle 6.4.1和Micronaut1.3.5以及明显的数据1.0.2和JPA。有什么想法吗?

还激活了条件跟踪,但没有关于SessionFactory的任何信息。只是一些spring的东西,但我没有使用spring,所以我认为这是可以的。

15:47:39.037 [Test worker] DEBUG i.m.context.condition.Condition - Bean [io.micronaut.jdbc.spring.$DataSourceTransactionManagerFactory$TransactionAwareDataSourceListener1Definition] will not be loaded due to failing conditions:
15:47:39.038 [Test worker] DEBUG i.m.context.condition.Condition - * Class [org.springframework.jdbc.datasource.DataSourceTransactionManager] is not present

有什么想法..因为那让我有点发疯

奥利弗

共有2个答案

邬承悦
2023-03-14

我是Kotlin和Micronaut的新手,所以我不确定。但是你的数据类是以低字母开头的?

例如:

@Entity
data class dataBook (
        @Id
        @GeneratedValue
        val id: Long
)
翁昊乾
2023-03-14

终于发现了错误:-)

data class DataX(
        @Id
        val id: String
) {

val yrefs
    get() = _yrefs.toList()

@OneToMany(cascade = [CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH], orphanRemoval = true, fetch = FetchType.EAGER,
           mappedBy = "yref") // < this was wrong must be xref
private val _yrefs= mutableListOf<DataY>()
}


data class DataY(
        @Id
        val id: String
) {
val zrefs
    get() = _zrefs.toList()

@OneToMany(cascade = [CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH], orphanRemoval = true, fetch = FetchType.EAGER,
           mappedBy = "zref")
private val _zrefs = mutableListOf<DataZ>()

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "x_ref_id")
var xref: DataX? = null
}
 类似资料:
  • 我在GraalVm native-image(Micronaut框架)中遇到了MongoDB的问题。当我使用IDE和。jar进行部署时,所有工作都正常,没有任何异常。当我使用由Micronauts launcher生成的标准Gradle任务创建本机映像并试图从数据库中获取实体时,找不到。这是我的成绩。建造 下面是我的DroneService.class,我试图从MongoDB中获取实体 日志 有什

  • 问题内容: 我在HQL上尝试获取没有分类的工件(当active为0时) 每当我跑步时,我都会收到错误消息 分类定义: 您可以参考以前遇到的问题,以了解我到底要执行的任务Quest1和Quest 2 问题答案: SQL查询使用列名称,而HQL查询使用类属性。您正在从分类中选择artifact_id,但是分类类没有名为“ artifact_id”的属性。要解决此问题,请使用HQL中的class属性。

  • 问题内容: 每当启动应用程序spring启动时,我都会收到以下错误。 申请开始失败 描述: com.base.model.AbstractDao中的现场会话需要找不到“ org.hibernate.SessionFactory”类型的Bean。 行动: 考虑在配置中定义类型为“ org.hibernate.SessionFactory”的bean。 我添加了我的应用程序的实现: POM.xml 应

  • 应用程序启动失败 描述: com.base.model.abstractDAO中得字段会话需要类型为“org.hibernate.sessionFactory”得bean,但找不到该bean. 我添加了应用程序的实现: pom.xml 应用程序.属性 我在stackoverflow上查找了相同的错误代码,但没有一个解决方案起作用,因此将它与我的代码一起再次发布在这里。希望别人能指出我错在哪里。

  • 当我尝试自动连接扩展CrudRepository的接口时,我遇到了这个错误。我有两个用于两个数据库的hibernate xml配置。整个堆栈是 unsatisfiedDependencyException:创建名为“Hello Controller”的bean时出错:通过字段“stock service”表示的不满足的依赖项;嵌套异常为org.springframework.beans.facto

  • 试图实现一个cpp程序,该程序在不使用类的情况下根据年份对出版物列表进行排序。 假设这些信息在一个文本文件中,每个文件由一个选项卡分隔: 在这个函数中,我必须将这些数据存储在一个列表中(最好是向量) 我的问题是如何将这些数据存储到一个向量中,以便在后面的函数中,我可以根据年份对整个向量进行排序?此外,我需要迭代,看看是否有不止一行信息。