1 configuration
默认使用config.configure()的时候,读取的配置文件就是hibernate.cfg.xml。
但是configure()的方法有好几个,可以用于配置自定义的XML文件。
如果更改了.cfg.xml文件的名字,那么相应的config处也要更改。
2 SessionFactory
因此每次要创建一个session的时候,只需要调用这个工厂类的方法OpenSession即可。
当然还可以把closeSession()方法写进去。
3 Session
举例:
相当于select语句
相当于insert语句
相当于select。insert。
相当于 select 。drop
相当于select。
4. Transation
只要try中代码出现问题进入到catch中,那么就不会执行commit(),而是去执行rollback()代码。就相当于回到了session = null 创建那一步。
而且标准的写法也是必须要有try-catch的。否则会出现数据的错误。
事物回滚的解释:
最近在用做hibernate做项目,一直不明白session.beginTransaction().commit() 和 session.beginTransaction().rollback(); 有什么区别
一组业务整体处理的行为叫一个事务。这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果。但如果一组中有任何的差错出现的话,我们就认为这事务不成功,需要回滚来撤消之前的操作。
举例:你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱?怎么办算了?你不肯吧。所以银行会事务回滚,不保存你刚才的操作,即恢复到你没转账之前的状态。