事务管理器

时间:2017-10-13 11:57:50

标签: grails spring-security

我使用Grails 2.3.3作为已成功构建的应用程序。

我现在将Spring安全性合并到应用程序中,在插件中添加了一行:

compile ":spring-security-core:2.0-RC5"

因此,我收到与transactionManagersessionfactory相关的GrailsContextLoader错误 - 这是错误:

  

错误|   2017-10-13 12:46:09,299 [localhost-startStop-1]错误context.GrailsContextLoader - 初始化应用程序时出错:创建名称为' transactionManagerPostProcessor'的bean出错:bean的初始化失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为' transactionManager'的bean时出错:无法解析对bean' sessionFactory'的引用设置bean属性' sessionFactory&#39 ;;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为' sessionFactory'的init时出错::init方法的调用失败;嵌套异常是org.hibernate.MappingException:关联引用未映射的类:homevu1.PicturesNWShr   消息:创建名称为' transactionManagerPostProcessor'的bean时出错:bean的初始化失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为' transactionManager'的bean时出错:无法解析对bean' sessionFactory'的引用设置bean属性' sessionFactory&#39 ;;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为' sessionFactory'的init时出错::init方法的调用失败;嵌套异常是org.hibernate.MappingException:关联引用未映射的类:homevu1.PicturesNWShr

PicturesNWShr是我的域之一,如果删除spring-security插件,编译它没有问题。

我已经扫描了一些相关的帖子,虽然我到目前为止还没找到一个有相同问题的帖子。但是有一些人建议修改项目根文件夹中的依赖项文件,以便从构建中强加或排除依赖项。

我欢迎一些建议?

以下是PicturesNWShr的域名定义:

package homevu1

import java.util.Date;

class PicturesNWShr {

    static constraints = {
        name()
        filename(blank: true, nullable: true)
        dateCreated()
        caption(blank: true, nullable: true)
        slotType(blank: true, nullable: true)
        groupName(blank: true, nullable: true)
    }

    static mapping = {
        datasource 'publish'
    }

    String name
    String filename
    String caption
    Date dateCreated
    VideoSlotTypeShr slotType
    String groupName // link pictures together for multifile upload 
    // ideal for linking al images of a house together for EAs.
    Date updateDate // The multiple file upload process - checks each instance update is complete 
    // before adding to vidSlot.
    static belongsTo = [userBT: UserShr]


    String toString() {
        "${name}"
    }
}

-Mike

1 个答案:

答案 0 :(得分:0)

深入研究了有关此映射错误的Stackoverflow帖子存档 - 我已确定错误是什么。

为我的域提供两个独立的数据源,当我扩展UserShr是PicturesNWShr的外键时,它无法将其映射为SecUser,SecRole& SecUserSecRole位于不同的数据源中。

那说我现在不知道如何解决这个问题,因为现在我需要撤消' s2-quickstart对我的应用程序做了什么,并确保SecUser,SecRole& SecUserRole被放置在"发布'数据源在上面的域类定义中引用。

需要进一步探索Stackoverflow。

-Mike