与createQuery相比,get有哪些优势?
我可以看到,在不必解析HQL的情况下,可能会有轻微的性能改进,但是使用get而不是createQuery还有其他主要的优势吗?
发布于 2013-03-15 07:27:13
首先,它的输入速度更快,可读性更好,并且清晰地表达了意图:通过ID获取实体,而且基本上不可能出错,而HQL查询中可能会有打字错误。
关于性能,它的主要优点是,只有当实体还不在会话缓存中时,它才执行select语句。每次都会执行HQL查询。如果您有二级缓存,并且实体已经在二级缓存中,则get()将完全避免执行查询。
发布于 2017-06-17 19:35:06
get()直接使用session来检索对象。
createQuery()使用HQL
。
https://stackoverflow.com/questions/15422043
复制相似问题