나는 어떻게 값의 jdbc.batch_size 숙박 시설에 런타임에 대한 웹 응용 프로그램을 사용하여 Spring MVC 및 Hibernate?
문제
에 따라 내가 지금까지 발견,내가 할 수 있습 다음과 같은 코드를 사용:
LocalSessionFactoryBean sessionFactory = (LocalSessionFactoryBean)super.getApplicationContext().getBean("&sessionFactory"); System.out.println(sessionFactory.getConfiguration().buildSettings().getJdbcBatchSize());
그러나 나는 최대 절전 모드는 예외:
org.hibernate.HibernateException:현지 데이터 소스를 발견한 구성-dataSource 속성을 설정해야 합니다에 LocalSessionFactoryBean
할 수 있는 누군가가 되?
해결책
하려고 다음과 같은(I 테스트 할 수 없습니다 그것은 이후 나는 사용하지 않는 봄):
System.out.println(sessionFactory.getConfiguration().getProperty("hibernate.jdbc.batch_size"))
다른 팁
버전에서는 최대 절전 모드는 확인했는데,getConfiguration 지 않은 공공의 방법 sessionfactory 를.에서 몇 가지 절망하는 경우에,나는 캐스팅 세션이나 sessionfactory 를으로 그것의 근본적인 구현을 얻을에는 값지 않은 공개적으로 사용할 수 있습니다.이 경우에는 것:
((SessionFactoryImplementor)sessionFactory).getSettings().getJdbcBatchSize()
물론,는 것은 위험할 수 있기 때문에 휴식하면 그들은 변경 구현.나는 보통 이를 위해 최적화할 수 있는 없이 살고 그런 다음 전체를 감싸는 것에서 시도/catch Throwable 블록하는지 확인하고 아프지 않을 것이 아무것도 그것이 실패하는 경우.더 나은 아이디어를 설정할 수 있습니 값이 너를 초기화할 때는 최대 절전 모드도록 당신은 이미 그것이 무엇인지부터 시작입니다.
제휴하지 않습니다 StackOverflow