为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate 添加基于会话的参数

Hibernate 添加基于会话的参数

白衣染霜花 2023-06-14 16:03:50
如何以编程方式在休眠中添加基于会话的设置?ansi_warnings例如在 SQL Server 中,为了防止插入过程中字符串被截断,我们可以在插入数据之前关闭。SET ANSI_WARNINGS OFF; insert into table1(col) values('text more than the length of the column');但是如果说我们使用方法,如何使用休眠来实现呢getSession().saveOrUpdate()?
查看完整描述

2 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

我能够使用 Hibernate 拦截器解决我的问题。覆盖onPrepareStatement.


public class MyClass extends EmptyInterceptor {


     @Override

     public String onPrepareStatement(String sql) {

         sql = "SET ANSI_WARNINGS OFF;".concat(sql);

         return super.onPrepareStatement(sql);

     }

}


查看完整回答
反对 回复 2023-06-14
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

ConnectionProvider我认为最好的通用方法是通过继承编写您自己的实现ConnectionProviderDelegate

在方法上,您可以运行getConnection()JDBCStatementSET ANSI_WARNINGS OFF;

您可以在Hibernate 文档的此页面上查看自定义示例ConnectionProvider以及如何配置它


查看完整回答
反对 回复 2023-06-14
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信