我想在数据库表中的 SessionFactory
之后插入一些数据spring hibernate 已经创建。
我有一个CUSTOMER
表,我想插入特定的 Customer
如果 Customer
进入此表不存在。
这是 SessionFactory
的配置:
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="packagesToScan" value="com.edfx.adb.persist.entity" />
<property name="entityInterceptor" ref="entityInterceptor" />
</bean>
我知道有一个选项hibernate.hbm2ddl.import_files
从中我们可以提到一个sql文件,查询将在SessionFactory
时执行。初始化。但我不想走这条路。
我还发现我们可以使用ServletContextListener
出于这种目的,但我不确定这是实现我想要的目标的好方法。因为我的理解是,当第一个用户点击应用程序时,监听器将在部署 war 文件后初始化。因此,如果我有一个运行 Customer
的调度程序如果调度程序在任何用户点击应用程序之前执行,那么调度程序将找不到需要插入的数据。
任何指针都会对我非常有帮助。
最佳答案
您可以根据您的要求扩展org.springframework.orm.hibernate4.LocalSessionFactoryBean
并重写buildSessionFactory()
方法。
关于java - spring hibernate sessionfactory 创建后插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179898/