M S*_*ach 12 java hibernate jpa named-query precompile
预编译的查询由DB供应商(如oracle,sql server等)预先编译和缓存,以便它们可以更快地进行连续调用,如预处理语句.
在Hibernate命名查询据说是在Web服务器启动时预编译的.这是否意味着所有查询都在服务器启动时触发,以便它们可以由DB供应商预编译或预编译在hibernate上下文中具有不同的含义?
Vla*_*cea 11
Hibernate Named查询以对象查询语言(JPQL或HQL)表示,因此Hibernate需要首先将它们转换为SQL.命名查询存储在NamedQueryRepository中,每个查询由NamedQueryDefinition表示.
因为用户可以动态添加过滤器,查询结果限制,锁定和提示,所以Hibernate在执行时间之前无法预编译HQL/JPQL.
Hibernate还为每个SELECT和DML语句使用PrepartedStatement,因此如果JDBC驱动程序支持它,您也可以获得数据库语句预编译,并且不通过在单个数据库请求中复用prepare和execute来模拟准备阶段(例如,MySQL,PostgreSQL ).
| 归档时间: |
|
| 查看次数: |
1849 次 |
| 最近记录: |