hibernabe(一)
知识点总结:
用java开发-->必须将数据持久化-->用数据库持久化-->须用ORM-->需要用Hibernate
一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。其底层也是由JDBC实现的。hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的驱动。
编程技巧:
hibernate逆向生成DAO、bens、*.hbm.xml
跳转到myeclipse database explorer界面打开你的数据库
user->Connected to user -> user ->dbo->table
找到你要生成的表,右击
选择好位置后
就可以生成
注意事项:
生成的同时,一定要注意,如果有外键,那么就要去下一页勾选many to many 或 one to one 两者也可同时勾选
当生成好DAO过后,需要对里面的一些DAO进行修改例如:
public void save(Advisor transientInstance) { log.debug("saving Advisor instance"); try { Transaction transaction=getSession().beginTransaction(); getSession().save(transientInstance); transaction.commit(); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; }finally{getSession().clear();} }
以上是我在自己生成上做的一点修改,加上了事务;如果不加,那么程序是不会报错,但是同时也相当于没有执行。
在此同时,我还加上了getsession().clear()这句话;原因是,当你数据更新后,这个表的数据是没有错,但是你外键表的数据就有可能拿不到;
需要加事务的类还有很多我就不上代码了!直接说出来!有如下:
delete();
attachDirty();
attachClean();
经验总结:
hibernate 很方便,但是也需要自己去修改和不断创新,其中HQL查询语言也有着不同的难度
在不断的练习程序中,我出了很多种错比如:
http://www.cnblogs.com/Jung/p/4468409.html
http://www.cnblogs.com/Jung/p/4484184.html
不要为现在着想,要为将来!