会,执行sql就会影响性能,在hibernate本身就是一个。。。你懂得,就是都是他帮你做好了,你无需动手,他的内部肯定写的十分有包容性的.如果你的业务是这样你可以选择别的地方去减少性能,比如xml不要配置打印sql信息等等。希望能够帮助到你
性能的好坏是对比着来的。你这里指提供了一种方法,我也没想到更好的方法。所以,也没什么好坏的区别。
这里,除非你有更好的获得主键的方式来替代。
对数据库操作本身就是影响性能的,处理中,能减少对数据库操作的次数就减少。
另外,这种简单的sql语句,在一次页面刷新过程中多个几次是感觉不出来的。
能够感觉出来的情况,我遇到的如下:一次检索的字段过多(上百个与几个这种差距),或者对大数据量表(百万条以上数据)的过多的联合查询 ,或者对大数据量表定义了太多索引而导致更新删除比较慢,使用类似于like,substring,>=,<>等累死不直观的命令等等
所以,个人认为,不要纠结这个问题。在其他逻辑上减少点对数据库检索的次数,或者优化下sql文,性能上完全可以弥补过来。
如果为了测试效率,建议在百万条数据(或者更多)表的基础上测试,不然,测试结果非常不准确。
我刚学完hibernate的hql的连接查询,马上准备学策略了,我可以告诉你hql虽然查询的时候是将其转换成了sql在数据库里查询,但是我们老师说的hibernate做了很多优化的工作,不要以为要转换成sql就会影响性能什么的,hql的查询效率不会比sql低的,当然如果你是一个数据库高手,做了sql的优化很好,这就另当别论了,不知道我的回答是不是你想要知道的。