新的类和配置文件将打包在osgi包中。
捆绑包中的服务类将使用Spring DM配置文件注入Spring HibernateTemplate。
我可以在运行时添加hibernate映射(映射文件,实体类)吗? 请问hibernate.hbm2ddl.auto有效吗?
提前致谢!
答案 0 :(得分:1)
假设您使用注释将VO映射到db表,下面是一些动态获取Spring HibernateTemplate的示例代码:
AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
//set annotated classes.
sessionFactoryBean.setAnnotatedClasses(new Class<?>[]{VO1.class,VO2.class});
Properties props = new Properties();
//put all your hibernate configurations here
props.setProperty("dataSource.show_sql", "true");
props.setProperty("dataSource.dialect", "org.hibernate.dialect.MySQL5Dialect");
....
sessionFactoryBean.setHibernateProperties(props);
//Create DataSource Dynamically
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(...);
dataSource.setUrl(...);
dataSource.setUsername(...);
dataSource.setPassword(...);
sessionFactoryBean.setDataSource(ds);
//tell sessionFactoryBean that you are ready.
sessionFactoryBean.afterPropertiesSet();
SessionFactory sessionFactory = sessionFactoryBean.getObject();
HibernateTemplate template = new HibernateTemplate();
template.setSessionFactory(sessionFactory);
答案 1 :(得分:1)
我认为你应该阅读this article 它有很好的示例源代码和解释如何更新SessionFactory。