我有一个由Hibernate,Spring和Jersey组成的堆栈。Jersey服务使用HIbernate默认数据集进行初始化
虽然事情了很大的平安,在我们的应用并非一切都是(也不可能是,由于种种原因,我知道我打破REST最佳实践的地方。)
我需要做两件事情,并无法弄清楚如何使两者都发生。
在我的应用程序的context.xml我有以下
<!-- Configure the entity manager factory bean -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>
<property name="packagesToScan" value="com.mystuff.model"/>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.import_files">data.sql</prop>
</props>
</property>
这通常加载一些休眠的数据到数据库中的我。 但是,我还需要初始化服务中的一些内存结构。
的那一刻我努力尽管打电话给我的服务扩展ServletContainer和覆盖发起super.initiate() 或实现AbstractResourceModelListener然后提供装载的(AbstractResourceModelContext modelContext) 我得到空指针,因为我提供的初始数据data.sql不在那里。
我该如何正确地做到这一点,所以我都得到我的data.sql加载,并可以执行服务加载时的几个语句?
(如果有人好奇,是服务是@Singleton)
任何帮助表示赞赏。