मैं 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;
यह मेरा 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);
}
};
}
}
है मुझे लगता है कि यह LocalSessionFactoryBean के साथ एक समस्या हो सकती है, लेकिन मैं नहीं समझ सकता कि क्या गलत है। मुझे कुछ याद आ रहा है।
मुझे पता चला है कि यह क्योंकि लापता हाइबरनेट-annotation.jar अगर यह होता है 3.x क्यों 4.0 में एनोटेशन पता नहीं है की है: org.hibernate.cfg.annotations.reflection.XMLContext hibernate- में है कोर जार फ़ाइल और यह अभी भी त्रुटि है।
अग्रिम धन्यवाद
क्या आपने इसे हाइबरनेट के निचले संस्करण के साथ करने की कोशिश की है? –
जा रहे हैं। अगर यह हाइबरनेट 4 में ठीक हो सकता है। यह बहुत अच्छा होगा। – xyzxyz442
हाइबरनेट 3.6.9 में बदल रहा है। एक और त्रुटि मिली: असंगत क्लासChangeError: class org.hibernate.cfg.ExtendedMappings में इंटरफ़ेस org.hibernate.cfg है। सुपर क्लास – xyzxyz442