禁止hibernate启动是自动生成CRUD语句和hibernate实现命名约定

本文介绍Hibernate框架中通过dynamic-insert和dynamic-update属性优化大量字段表的更新操作,避免插入空值和更新未变化字段的问题。同时讲解如何通过实现NamingStrategy接口或扩展ImproveNamingStrategy类来实现命名约定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hibernate在启动时默认生成该pojo的CRUD,但是,hibernate不知道有那些字段需要insert,那些需要update,所以,hibernate默认insert和update所有字段,包括insert null 和update没变的字段,这样的话,对于一个有几百个字段的表来说,当他只需要update一个字段时,hibernate的这种方式就显得相当傻X了,所以,在映射文件里的<class>里有两个字段可以禁止这种情况发生,dynamic-insert和dynamic-update,当这两个属性为true时,将会过滤掉那些insert null 和update 没改变的字段

 

 

hibernate实现命名约定需要实现NamingStrategy接口或扩展ImproveNamingStrategy类,具体方法查看文档,实现该接口后需要在在hibernate配置Configuration中设置该实现类的一个实例,即调用setNamingStrategy()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值