我之前创建的Question我可以暂时解决问题:
添加:hibernate.properties: NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:data name:@"media" fileName:[NSString stringWithFormat:@"%@.%@",[self randomStringWithLength:15],extension] mimeType:@"image/jpeg"];
} error:nil];
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
AFURLSessionManager *manager = appDelegate.urlSessionManager;
NSProgress *progress = nil;
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
}
}];
//6.Send request
[uploadTask resume];
我无法理解它暂时出现的确切原因我可以修复:添加:hibernate.properties:javax.persistence.validation.mode=none
属性。但它不能是最终选项,因为Application需要获得验证bean。
请您帮助我理解为什么在此项目工作正常之前它会发出此错误:
如果我没有在javax.persistence.validation.mode=none
中添加javax.persistence.validation.mode=none
属性,我会收到相同的错误。
请帮助我理解并解决此问题。
我的完整堆栈跟踪如下:
hibernate.properties
答案 0 :(得分:0)
我不太确定我完全理解你的问题,但如果问题是当你引导你的应用程序时你得到了上面的堆栈跟踪,并且当你设置javax.persistence.validation.mode=none
时它就消失了,那么答案如下。< / p>
设置验证模式会告诉ORM,或者更具体地说BeanValidationIntegrator根本不启用Bean验证。这是根据JPA规范,其中指定了JPA和Bean Validation之间的行为。
在任何其他模式下,BeanValidationIntegrator
将尝试启用Bean验证。它检查javax.validation.Validation
是否在类路径上,将此作为引导Bean验证的关键。但是,它还要求有一个Bean Validation实现,例如Hibernate Validator。
您的stacktrace意味着您在类路径上有Bean Validation API,但没有Bean Validation Provider(实现)。
您的依赖项如何?
答案 1 :(得分:0)
在我的应用程序中,我们正在使用hibernate 4并在将 hibernate-validator-4.1.0.Final.jar 添加到classpath之后我没有得到这个例外,即使我在hibernate中没有这个属性.properties:javax.persistence.validation.mode=none
我可以通过在应用程序类路径中添加 hibernate-validator-4.1.0.Final.jar 来解决这个问题。