java - spring hibernate sessionfactory 创建后插入数据库

标签 java database spring-3 sessionfactory hibernate-4.x

我想在数据库表中的 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/

相关文章:

java - maven effective pom 显示未定义的插件

mysql - SQL:如何获取最后一项?

database - 是否有任何 DB2 数据库项目支持 Visual Studio 2010?

sql - 如何使用sql脚本更改列的属性

java - 如何让单元测试在 java 7 : java. lang.VerifyError 中运行:在分支目标处期望堆栈映射框架

spring - PropertyPlaceholderConfigurer 未以编程方式加载

android - 使用 Spring Android 框架通过 HTTP POST 检索 JSON 数据

java - 如何在java中分割由多个分隔符分隔的字符串?

Action Streams 中的 Java 8 明确说明

java - 达到 MYSQL 连接限制 - JDBC 会自动关闭吗?