Java 使用hibernate将Excel工作表映射到数据库

Java 使用hibernate将Excel工作表映射到数据库,java,excel,hibernate,orm,apache-poi,Java,Excel,Hibernate,Orm,Apache Poi,我有一些主数据要填充到数据库中,这是在第一次执行时完成的一次性活动。我决定将数据保存在excel文件中的多个表格中。数据库中有一些关系,我必须在excel表中处理这些关系。此工作表将使用API(POI)读取,数据将使用hibernate持久化 请建议这是正确的方法还是有更好的方法来处理?是否有其他方法使用hibernate将excel转储到数据库中(需要一个excel文件并支持5种类型的数据库)?使用excel和POI您可以实现这一点,但当您要求其他方法时,它就在这里: 如果确定这是一次性活动,

我有一些主数据要填充到数据库中,这是在第一次执行时完成的一次性活动。我决定将数据保存在excel文件中的多个表格中。数据库中有一些关系,我必须在excel表中处理这些关系。此工作表将使用API(POI)读取,数据将使用hibernate持久化


请建议这是正确的方法还是有更好的方法来处理?是否有其他方法使用hibernate将excel转储到数据库中(需要一个excel文件并支持5种类型的数据库)?

使用excel和POI您可以实现这一点,但当您要求其他方法时,它就在这里:

如果确定这是一次性活动,则可以使用
hibernate.hbm2ddl.import_files
属性,该属性将在创建数据库时执行.sql文件

在hibernate配置中添加hibernate
属性hibernate.hbm2ddl.import_文件。将
hibernate.hbm2ddl.aut
o属性更改为
create
属性hibernate.hbm2ddl.import_files
的值是一个SQL文件,它是@/classes文件夹

会话工厂bean看起来像

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
            <prop key="hibernate.hbm2ddl.import_files">initial_data.sql</prop>
        </props>
    </property>
</bean>

${hibernate.dial}
${hibernate.show_sql}
创造
初始_data.sql

Hi-Amogh,我之所以要换成其他格式,是因为SQL语法随着数据库类型的变化而变化。要支持5种类型的数据库,我必须管理5个不同的.sql文件。此外,我想知道在将数据移植到数据库时,如何在excel文件中保留关系database@Sushant根据我的经验,在excel中维持关系是相当困难的,您可以使用@Sushant学习Excel数据模型和关系。我可以理解多个数据库的问题,但如果您遵循ANSI SQL语法,您可以准备一个.SQL文件,该文件将适用于所有数据库。