Hibernate 注意事项

1 session.flush() 把当前session缓存中修改的数据,都提交到数据库中。(和当前的session事物无关,哪怕是没开启事物,都会提交)
2 session.clear() 清空当前session中缓存的数据。在excuteHql或sql时,如果db中的数据和session不一致。需要clear掉session中的缓存数据
3 session.excuteUpdate() 会立马执行到数据库中(并返回相应行数),与当前事物,并不会等提交事物, 没有事物也会执行成功。(如果多条hql需要组成一个事物,待调研:如修改库存表的库存量,累积商户售卖总量)。
4 session.update(bean) 执行修改的一定是hibernate的代理bean(即查询出的存在于session缓存中的bean),否则会触发新增。
5 session缓存中bean.setName(“张三”) session缓存代理bean属性被修改后。并不需要调用session.update(bean),在提交事物时会自动检测修改了的bean,并进行提交。这点特别要注意。如果不是真的修改,千万别动bean的数据。(比如计算过程把这bean作为临时对象来处理,随意修改bean的数据)

Hibernate 中如何获得库表所有字段的名称

        Configuration conf = new Configuration();   
                     conf.configure();   
                     Iterator iter =  conf.getTableMappings();   

                     while ( iter.hasNext() ) {   
                                 Table table = ( Table ) iter.next();   

                                 System.out.println(table.getName());   
                                 Iterator ics = table.getColumnIterator();   
                                 while (ics.hasNext()){   
                                            Column col = (Column) ics.next();   
                                            System.out.println(col.getName());   
                 }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值