2010-01-07 105 views
1

任何人都可以解释这2个属性休眠属性

Q1。 hibernate.cglib.use_reflection_optimizer?什么是设置为true和false


Q2的效果。 hibernate.c3p0.max_statements。我读了休眠文档https://www.hibernate.org/214.html。它只提到默认值是0.我使用的是oracle10g,而我设置为100.但是我想知道如何找出max数据库可以支持的是什么?也是这个属性的意思是sql语句可以支持的最大长度?

回答

3

A1。false会让Hibernate的启动速度更快,因为它没有试图建立CGLIB增强对象访问的getter/setter方法,并使用标准的JDK反射访问。不过,它可能会对整体运行时性能产生一些负面影响。而价值true意味着恰恰相反。

参考:https://www.hibernate.org/194.html

A2。这是c3p0的PreparedStatement缓存的大小。零意味着语句缓存关闭。

当它从你的意见看来,你还是不清楚C3P0的大小PreparedStatement。我认为你应该阅读PreparedStatement,那么你将能够理解。

docs

SQL语句进行预编译并存储在PreparedStatement对象 。 然后,该对象可以被用来 多次有效地执行该语句。

所以,这意味着它缓存了PreparedStatement对象。底层数据库在这种情况下无关紧要。

+0

为A2,什么是我最大可以设置?取决于数据库功能? – cometta 2010-01-07 06:18:01

+1

https://www.hibernate.org/194.html不要忘记链接:) – Bozho 2010-01-07 06:55:12

+0

@cometta:没有它没有。它的缓存大小为'PreparedStatement'。你需要了解'PreparedStatement'。顺便说一句,c3p0是一个连接池实现,如果你不知道它。 – 2010-01-07 07:04:13