- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试将 Hibernate 4.0.0.FINAL
与 Spring 3.1.0.RELEASE
集成使用 @Configuration
。
之后出现这个问题:
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 的问题,但我不明白哪里出了问题。我可能遗漏了一些东西。
我发现如果是3.x的话是因为缺少hibernate-annotation.jar不知道为什么在 4.0 中注释:org.hibernate.cfg.annotations.reflection.XMLContext 在 hibernate-core jar 文件中,它仍然出错。
最佳答案
好的,这听起来很像是您在提供所有必需依赖项的兼容版本时遇到了问题。以下是一些可能出错的想法:
这听起来不像是您在使用 Maven 或类似工具来管理您的依赖项。强烈建议使用自动工具来管理依赖项,因为手动提供所有必需的依赖项非常困难/容易出错。那就是说你应该能够下载一个 zip 文件中的版本,其中包含来自 here 的所有必需的 jar。 .这是你做的吗?
Hibernate 核心依赖于 hibernate-commons-annotations.jar。 hibernate-annotations 中的所有注释现在都在核心 jar 中。所以你需要 hibernate-commons-annotations.jar 而不是 hibernate-annotations.jar
关于java - 春+ hibernate : LocalSessionFactoryBean - NoSuchMethodError: org. hibernate.cfg.annotations.reflection.XMLContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632743/
我正在学习这些教程:tutorial 1和 tutorial 2 我根据这个制作了xml文件并更改了.properties文件。现在我的应用程序无法启动,因为它不能使用我指定的驱动程序。我从 Post
让以下内容: 假设有 2000 个请求 /resources/script/app/myhax.js 如果我不配置任何东西,myhax.js 是否以某种方式缓存到 RAM 中并从那里处理其余的请求,
我正在尝试将 Hibernate 4.0.0.FINAL 与 Spring 3.1.0.RELEASE 集成使用 @Configuration。 之后出现这个问题: BeanCreationExcep
我创建了一个列长度为 varchar(1000) 的表;我可以轻松地从工作台插入 800 个字符长度的字符串,没有任何问题。但是当我尝试从我的 spring jpa 应用程序中使用相同的字符串时,它给
我是一名优秀的程序员,十分优秀!