jpa调用存储过程入参为null:The parameter named [VI_SELLID] was null. The parameter named [VI_SELLID] was null

该博客讨论了在Spring JPA中如何处理Hibernate参数为null的情况。通过调用ParameterRegistration#enablePassingNulls(true),可以启用传递null参数的功能。配置方法是在应用的属性文件中添加spring.jpa.properties.hibernate.proc.param_null_passing属性并设置为true,从而允许方法参数接受null值。
You need to call ParameterRegistration#enablePassingNulls(true) in order to pass null 

parameters.

提示:这个入参不能为null,要想为null,需要调用ParameterRegistration#enablePassingNulls(true),直接在配置文件设置:

spring.jpa.properties.hibernate.proc.param_null_passing

### 达梦数据库与Spring Data JPA集成时遇到的Hibernate异常问题解决方案 当在达梦数据库环境中使用Spring Data JPA时,如果遇到了`org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set`错误,这通常是因为未指定合适的Hibernate方言配置。 对于达梦数据库而言,在`application.yml`文件中的`spring.jpa.properties.hibernate.dialect`属性应该被设置为支持达梦数据库的具体实现类。由于官方文档可能不会直接提供针对达梦的支持,因此建议自定义一个继承自标准SQL方言并适配达梦特性的方言类[^3]。 下面是一个简单的例子来展示如何创建这样一个特定于达梦数据库的方言: ```java import org.hibernate.dialect.SQLServerDialect; // 假设这里导其他必要的包 public class DamengDatabaseDialect extends SQLServerDialect { @Override protected void registerFunctions() { super.registerFunctions(); // 可能需要注册一些特殊的函数或调整默认行为以适应达梦特性 } @Override public String getTableTypeString() { return ""; } } ``` 接着,在项目的配置文件中加如下内容以便让应用程序知道要使用的具体方言: ```yaml spring: datasource: url: jdbc:dmsql://localhost:5236/your_database_name?charset=UTF-8&useSSL=false username: your_username password: your_password driver-class-name: dm.jdbc.driver.DmDriver jpa: show-sql: true hibernate: ddl-auto: update properties: hibernate: dialect: com.yourpackage.DamengDatabaseDialect # 自定义方言路径 ``` 通过上述方式设定好正确的数据库连接参数以及对应的Hibernate方言之后,应当能够有效避免因缺少适当方言而导致的相关异常情况发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值