class Item {
String itemName;
List<LineItem> lineItems;
User user;
}就这么一个对象查询,对不同的需求
1:取Item,延迟加载LineItem,User
select item from Item item 2:取Item及关联的User,LineItem select item from Item item join item.user u left join fetch lineItems li"一句
List<Item> itemList=sesion.createQuery(hql).list()
即可请问你用jdbc怎么做到比这更简洁,更OO?
String itemName;
List<LineItem> lineItems;
User user;
}就这么一个对象查询,对不同的需求
1:取Item,延迟加载LineItem,User
select item from Item item 2:取Item及关联的User,LineItem select item from Item item join item.user u left join fetch lineItems li"一句
List<Item> itemList=sesion.createQuery(hql).list()
即可请问你用jdbc怎么做到比这更简洁,更OO?
解决方案 »
- null!=a和a!=null的区别是什么?
- 100分!!!,lcoal session bean部署在weblogic上的问题,求助啊,N天都没解决
- STRUS2中OGNL中如何写一对多关系?
- 各位高手帮忙看看~~小弟先谢谢了~~
- Lucene 修改现有索引文件
- jb2006+weblogic8.1的开发配置发布问题
- 请问为什么我的jbuilder9中的CORBA功能不能用啊?
- 为什么大家都说J2EE很厉害,我觉得J2EE不过是面向对象的数据库操作而已,没什么难度!
- 非常简单的一个数制问题?
- org.springframework.beans.factory.BeanDefinitionStoreException
- 请问关于GWT中css设置的问题
- hibernate编码问题(日文2000系统下)
自己感觉 还是比较好的
1 不用自己在去用JDBC去连接数据库 少写了很多SQL语句,让你把精力都放在写逻辑层
2 把数据库的表都同过XML映射的关系 形成实体bean 对于面向对象来说 很好理解的
3 不过hibernate的重点应该放在ORM(对象到关系的映射),去真正的理解ORM,封装底层数据库的框架有很多,只要你通过hibernate理解ORM,去学别的框架也是很容易的事情.
4 通过***.hbm.xml可以写出一对多 多对多等他们之间的关系等
这只是我个人的见解!!你所说的HQL语句 其实和SQL语句没有什么大的区别 比如Query query=session.createQuery("from Student");这里的Student是你的实体bean的名字 不是表明
但相对的对于数据库设计的设计要求也就要高一些
趁着还没被淘汰快用吧!然后等待下一次技术变革的席卷!
一代一代家狗师就是这么培养地!
另一方面:对于复杂对象,用起来确实比较麻烦,也不可能去配那么一对多关联;数据库表变更导致的xml配置修改更让人难以忍受;效率不够高。综合而言,比jdbc要好用,但复杂度有待降低。对于数据库复杂度较高的产品/项目,不推荐hibernate。
但对压力大的程序就不要用了,它本身的速度就不快,访问量再一大,结果可想而知。
有时候程序越直接,越有效。
各有各的好,看情况而定,好咱就用,不好,扔进垃圾筒,呵呵。
以前做过的OA系统,用的是hibernate,现在做的是网络广告联盟系统,追求速度和性能,就没有用它。
建议绝对不要用一对多关系,可能的情况下多使用批量操作的语法,而不是逐条循环.这样就只多了一步解析,应该影响不大.
开发效率还是相当高的.
===================================================
不管你用Criteria或者是hql,首先你必须要知道sql应该怎样写
如果这点明确了,你用Criteria或者hql的工作量不会比单写sql语句小
简单点的程序用hibernate开发速度快,不过运行速度慢。
看着eclipse的反应时间,本来是5K多S,一加上这框架都要了1-2W多S了。
汗……也许是我还不太会用吧 =。=
至于复杂点的程序,我也还没做过。就不好做评论了。