gpt4 book ai didi

java - Spring HibernateTemplate 在运行时添加映射

转载 作者:行者123 更新时间:2023-11-30 04:52:40 25 4
gpt4 key购买 nike

新的类和配置文件将打包在 osgi 包中。

bundle 中的服务类将通过 Spring HibernateTemplate 和 Spring DM 配置文件注入(inject)。

我可以在运行时添加 hibernate 映射(映射文件、实体类)吗?
hibernate.hbm2ddl.auto 可以工作吗?

提前致谢!

最佳答案

假设您正在使用注释将 VO 与数据库表映射,这里是一些动态获取 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);

关于java - Spring HibernateTemplate 在运行时添加映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com