每次我在应用程序中调用session.getCurrentSession()时,它都会从数据库中加载所有实体。有什么办法可以避免这种情况?

时间:2018-09-19 05:26:29

标签: mysql hibernate

我在应用程序中使用了hibernate5和spring。 这是配置。

<bean id="hibernate4AnnotatedSessionFactory"		class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="annotatedClasses">
			<list>
				<value>model.Login</value>
				<value>model.Project</value>
			<!--about 30 more classes in the list -->
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.show_sql">false</prop>
				 <prop key="connection.autocommit">true</prop>
			</props>
		</property>
	</bean>

因此,每次我调用session.getCurrentSession()时,它都会从db加载所有实体。即使我没有太多数据(仅测试数据),每次也需要大约2-7秒。我不想使用二级缓存。有什么办法可以避免或加快这一过程?

0 个答案:

没有答案