我正在升级一个应用程序到grails-5。我已经将数据库连接信息从自定义DataSource.groovy移动到application.yml。环境:开发: dataSource: dbCreate: update url: dataSource
但是,凭据是正确的,但是应用程序无法启动,并引发以下错误。
springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to i
nstantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is org.hibernate.MappingException: Could not determine type for: org.springframework.transaction.PlatformTransactionManager, at t
able: <<table_name>>, for columns: [org.hibernate.mapping.Column(transaction_manager)]发布于 2022-01-11 19:55:32
如果域类上有@Transactional (没有很好的理由这样做),将导致将名为transactionManager的属性添加到类中。这是执行事务管理逻辑所必需的。问题是,默认情况下,域类中的属性被映射到数据库,除非它们被配置为瞬态属性。
您应该从域类中删除@Transactional注释,并将任何事务逻辑移动到管理事务的任何地方,这通常是事务性服务中的事务。
https://stackoverflow.com/questions/70654552
复制相似问题