나는 어떻게 값의 jdbc.batch_size 숙박 시설에 런타임에 대한 웹 응용 프로그램을 사용하여 Spring MVC 및 Hibernate?

StackOverflow https://stackoverflow.com/questions/105998

  •  01-07-2019
  •  | 
  •  

문제

에 따라 내가 지금까지 발견,내가 할 수 있습 다음과 같은 코드를 사용:

    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 블록하는지 확인하고 아프지 않을 것이 아무것도 그것이 실패하는 경우.더 나은 아이디어를 설정할 수 있습니 값이 너를 초기화할 때는 최대 절전 모드도록 당신은 이미 그것이 무엇인지부터 시작입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top