Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
请教一个hibernate的问题
07-07-27
yitanhg
我们的系统,是一个业务系统。比方说,有一个单子,入库单
要写库存
以前的时候,肯定是sql:库存=库存+单子的数量
如果,在hibernate里面怎么设计比较好呢?
banq
2007-07-30 10:53
hibernate是基于对象的工具,所以,首先对象建模,比如有入库单对象,然后根据再对对象中字段比如库存进行计算,计算方式不变。你需要首先熟悉一下hibernate。
yitanhg
2007-07-30 10:59
我也知道banq讲的,首先要建模,然后再进行设计什么的
我只是想说,比方说,大家都要写库存,也就是不止一个人在处理库存
如果,几张入库单都要写库存
数据库中有一张库存表,以前的时候,用sql:
update tb库存表
set 库存 = 库存 + 入库单的入库数量
现在,用hibernate是不是session先load,然后,对象的库存量=库存量+你单据的入库数量?可是,这样的话,你取过来的数量,可能在这个过程中已经被别人修改过了,如何处理?
呵呵,不好意思啊,我以前都是直接写sql的那种做法的,一时转不过来,可能让各位高手见笑了。呵呵
yitanhg
2007-07-31 11:11
没人理啊?高手是不是都觉得这个问题比较弱啊?
aya324
2007-08-03 17:04
这就要看Hibernate对事务和并发处理的内容了,一般数据库里面都有默认的隔离级别了(像Mysql默认隔离级别是Reapeatable Read),当然也可以用Hibernate配置文件hibernate.properties来配置事务的隔离级别,如果这样还不能解决并发问题,还可以考虑用悲观锁或乐观锁来辅助解决,当然并不是所有的数据库系统都支持锁.