Spring HibernateTemplate добавляет сопоставление во время выполнения - PullRequest
1 голос
/ 01 марта 2012

Новые классы и файлы конфигурации будут упакованы в пакет osgi.

И класс обслуживания в пакетах будет внедрен с помощью Spring HibernateTemplate с файлом конфигурации Spring DM.

Можно ли добавить отображения гибернации (файлы сопоставления, классы сущностей) во время выполнения?
Будет ли спящий режим.hbm2ddl.auto работать?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Я думаю, вам следует прочитать эту статью .
В ней есть хороший пример исходного кода и объяснение того, как вы можете обновить SessionFactory.

1 голос
/ 01 марта 2012

Предположим, вы используете аннотацию для сопоставления 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...