2012-03-01 9 views
1

新しいクラスと設定ファイルはosgiバンドルにパッケージ化されます。Spring HibernateTemplateはランタイムでマッピングを追加します

バンドル内のサービスクラスには、Spring DM構成ファイルを持つSpring HibernateTemplateが挿入されます。

実行時にハイバネートマッピング(マッピングファイル、エンティティクラス)を追加できますか?
hibernate.hbm2ddl.autoは動作しますか?

ありがとうございます!

答えて

1

私はあなたがthis articleを読むべきだと思います。
これには、SessionFactoryをどのように更新できるかを示す良いサンプルソースコードと説明があります。

1

はあなたがdbテーブルとVOをマッピングするために、アノテーションを使用していると仮定し、ここで動的に春の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); 
関連する問題