나는 Spring 3.1.0.RELEASE
가 @Configuration
을 사용하여 Hibernate 4.0.0.FINAL
를 통합하려합니다.봄 + 최대 절전 모드 : LocalSessionFactoryBean의 - NoSuchMethodError : org.hibernate.cfg.annotations.reflection.XMLContext
그 후,이 문제가 발생합니다
BeanCreationException: Error creating bean with name 'alertsSessionFactoryBean'
NoSuchMethodError: org.hibernate.cfg.annotations.reflection.XMLContext$Default.getDelimitedIdentifier()Ljava/lang/Boolean;
이 나는 그것이 LocalSessionFactoryBean의 문제가 될 수 있지만, 내가 잘못이 무엇인지 이해할 수 없다 생각하는 내 PersistenceHibernateConfig
파일
@Configuration
@EnableTransactionManagement
public class PersistenceHibernateConfig {
@Value("${jdbc.driverClassName}")
private String driverClassName;
@Value("${jdbc.url}")
private String url;
@Value("${hibernate.dialect}")
String hibernateDialect;
@Value("${hibernate.show_sql}")
boolean hibernateShowSql;
@Value("${hibernate.hbm2ddl.auto}")
String hibernateHbm2ddlAuto;
@Bean
public LocalSessionFactoryBean alertsSessionFactoryBean() {
final LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(this.restDataSource());
sessionFactory.setPackagesToScan(new String[]{"com.cloudlb"});
sessionFactory.setHibernateProperties(this.hibernateProperties());
return sessionFactory;
}
@Bean
public DataSource restDataSource() {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(this.driverClassName);
dataSource.setUrl(this.url);
dataSource.setUsername("test");
dataSource.setPassword("1234");
return dataSource;
}
@Bean
public HibernateTransactionManager transactionManager() {
final HibernateTransactionManager txManager = new HibernateTransactionManager();
txManager.setSessionFactory(this.alertsSessionFactoryBean().getObject());
return txManager;
}
@Bean
public PersistenceExceptionTranslationPostProcessor exceptionTranslationPostProcessor() {
return new PersistenceExceptionTranslationPostProcessor();
}
@Bean
public PersistenceExceptionTranslator exceptionTranslator() {
return new HibernateExceptionTranslator();
}
final Properties hibernateProperties() {
return new Properties() {
{
this.put("persistence.dialect", PersistenceHibernateConfig.this.hibernateDialect);
this.put("hibernate.hbm2ddl.auto", PersistenceHibernateConfig.this.hibernateHbm2ddlAuto);
this.put("hibernate.show_sql", PersistenceHibernateConfig.this.hibernateShowSql);
}
};
}
}
입니다. 나는 뭔가를 놓칠지도 모른다. org.hibernate.cfg.annotations.reflection.XMLContext이 hibernate-에 있습니다
는 나는 그것 때문에 3.x를 왜 4.0에서 주석을 모르는 경우 최대 절전 모드 - annotation.jar 누락 된 것을 발견 core jar 파일이고 여전히 오류가 있습니다.
은 사전에 필요한 모든 종속성의 호환 버전을 제공하는 데 문제가있는 것처럼이 많이 소리
절전 버전의 낮은 버전으로 이것을 시도 해 봤니? –
. 그것은 최대 절전 모드에서 해결할 수 있다면 4. 그것은 좋을 것입니다. – xyzxyz442
최대 절전 모드 3.6.9로 변경. 다른 에러가 있습니다 : IncompatibleClassChangeError : 클래스 org.hibernate.cfg.ExtendedMappings 인터페이스 org.hibernate.cfg가 있습니다. 수퍼 클래스로 매핑 – xyzxyz442