Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grails找不到匹配的构造函数:somiti.JointMember(java.lang.String)_Java_Grails_Grails 2.0_Grails Domain Class - Fatal编程技术网

grails找不到匹配的构造函数:somiti.JointMember(java.lang.String)

grails找不到匹配的构造函数:somiti.JointMember(java.lang.String),java,grails,grails-2.0,grails-domain-class,Java,Grails,Grails 2.0,Grails Domain Class,我正在使用Grails2.4.2。我有一个作为JointMemberInvestment的域,其中有一个是JointMember类的实例。但当我想保存数据时,它会给我以下错误: 找不到匹配的构造函数:somiti.JointMember(java.lang.String) 有人能帮我吗?以下是我的尝试: 我的域类: class JointMemberInvestment { JointMember jointMember int investAmount Dat

我正在使用Grails2.4.2。我有一个作为JointMemberInvestment的域,其中有一个是JointMember类的实例。但当我想保存数据时,它会给我以下错误:
找不到匹配的构造函数:somiti.JointMember(java.lang.String)

有人能帮我吗?以下是我的尝试:

我的域类:

    class JointMemberInvestment {

    JointMember jointMember
    int investAmount
    Date investDate

    static mapping = {
        table('joint_member_investment')
        version defaultValue: 0
    }

    static constraints = {
        investAmount(nullable: false, blank: false)
        investDate(nullable: false, blank: false)
    }
}
我的控制器保存方法:

@Transactional
def save(JointMemberInvestment jointMemberInvestmentInstance) {
    if (jointMemberInvestmentInstance == null) {
        notFound()
        return
    }

    String investDate = params.investDate;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdf.parse(investDate);
    java.sql.Date sqlInvestDate = new java.sql.Date(date.getTime());

    jointMemberInvestmentInstance.investDate = sqlInvestDate
    jointMemberInvestmentInstance.jointMember = JointMember.get(Long.parseLong(params.jointMemberId))        

    if (jointMemberInvestmentInstance.hasErrors()) {
        respond jointMemberInvestmentInstance.errors, view: 'create'
        return
    }

    jointMemberInvestmentInstance.save flush: true

    request.withFormat {
        form multipartForm {
            flash.message = message(code: 'default.created.message', args: [message(code: 'jointMemberInvestment.label', default: 'JointMemberInvestment'), jointMemberInvestmentInstance.id])
            redirect jointMemberInvestmentInstance
        }
        '*' { respond jointMemberInvestmentInstance, [status: CREATED] }
    }
}

可能这会对您有所帮助。

简而言之,没有因为您有
JointMember.get(
后跟
hasrerrors()
因此,您希望添加到代码中的任何内容。专门在问题不相关的地方添加代码片段将无助于解决您的问题。更具体地说,当它抛出
时,无法找到匹配的构造函数
它是否提供了任何进一步的线索,如控制器/服务和行号?实际错误代码的一半而实际代码的一半——当然不是——除非我们坐在你的座位上end@vahid谢谢您的回复。没有给出其他错误。它在保存期间显示。控制台上没有任何错误。
jointMemberInvestmentInstance.investDate = sqlInvestDate
    jointMemberInvestmentInstance.jointMember = JointMember.get(Long.parseLong(params.jointMemberId))        

bindData(jointMemberInvestmentInstance, params, [exclude:['JointMember']])

    if (jointMemberInvestmentInstance.hasErrors()) {
        respond jointMemberInvestmentInstance.errors, view: 'create'
        return
    }