2017-07-11 10 views
1

私は、ハイバーネイトを使用してデータベースに保存したいいくつかのオブジェクトを含むライブラリを持っています。hbm.xmlにポイント@構成ファイル

すべての単一オブジェクトに対してhbm.xmlファイルを作成しました。今度はAppConfigクラスを持っています

@Configuration 
@ComponentScan("some.company") 
@EnableAutoConfiguration(exclude = HibernateJpaAutoConfiguration.class) 
@EnableTransactionManagement 
public class AppConfig 
     extends WebMvcConfigurerAdapter 
{ 
    @Bean(name = "dataSource") 
    public DataSource dataSource() 
    { 
     DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
     dataSource.setUrl("jdbc:mysql://localhost:3306/somedatabase"); 
     dataSource.setUsername("user"); 
     dataSource.setPassword("password"); 
     return dataSource; 
    } 

    @Bean(name = "sessionFactory") 
    public LocalSessionFactoryBean sessionFactory() 
    { 
     LocalSessionFactoryBean localSession = new LocalSessionFactoryBean(); 
     localSession.setDataSource(dataSource()); 
     return localSession; 
    } 

    @Bean(name = "transactionManager") 
    public HibernateTransactionManager transactionManager() 
    { 
     return new HibernateTransactionManager(sessionFactory().getObject()); 
    } 
} 

新しく作成したhbm.xmlファイルをどのように指していますか?

それが不可能な場合は、書き込みアクセス権のないオブジェクトに対してハイバネートマッピングを作成するにはどうすればよいでしょうか?
唯一の制約は、私のアプリ設定をXMLに書くことができないということです.xmlには移動できないほどあまりにも多くあります。

答えて

1

実践的、私はのために行くだろう:

@Bean(name = "sessionFactory") 
public LocalSessionFactoryBean sessionFactory() { 
    LocalSessionFactoryBean localSession = new LocalSessionFactoryBean(); 
    localSession.setDataSource(dataSource()); 

    localSession.setMappingResources("my.hmb.xml", "files.hbm.xml"); 

    return localSession; 
} 

(HBMファイルをクラスパスのルートに存在する場合 - 例えばsrc/main/resourcesに)

+1

ありがとうございました!すばらしい作品 – Quillion

関連する問題