JDO的含义为Java数据对象JavaDataObject,是用于数据仓库对象的标准化API。
由于JDO提供了直接的对象存储,使开发人员将更多的精力放在业务逻辑上。
Hibernate是对JDBC的轻量封装,数据库的连接参数被配置在XML文件中,而数据库访问仍由JDBC完成。
Hibernate作为持久层框架将表信息映射到XML文件中,再从XML文件映射到相应的持久化类中。
区别:
Hibernate具有独特的查询语言HQL(HibernateQueryLanguage)。
HQL查询结果返回List,而JDBC返回ResultSet结果集并且还要自行完成List的封闭过程。
Hibernate的DAO访问层提高了代码的可重用性。DAO层全称DataAccessObject数据访问接口,该层是HQL查询语言唯一出现的位置。而JDBC是随时连接随时访问的。举个例子,100条查询语句,如果表名变化,对于JDBC则需要重写SQL语句,而对于Hibernate只需要修改DAO层的即可。