我在数据库中填充了一些主数据,这是在第一次执行时完成的一次性活动。我决定在excel文件中将数据保存在多个工作表中。数据库中有一些关系,我必须在excel表中关注。将使用API(POI)读取此工作表,并使用hibernate保留数据。
请建议这是正确的方法还是有更好的方法来解决这个问题?有没有其他方法可以使用hibernate将excel转储到数据库中(需要一个excel文件并支持5种类型的数据库)?
答案 0 :(得分:0)
使用excel和POI你可以做到这一点,但正如你要求的其他方式所以这里是:
如果您确定这是一次性活动,那么您可以使用hibernate.hbm2ddl.import_files
属性,该属性将在创建数据库时执行.sql文件。
在你的hibernate配置中添加hibernate property hibernate.hbm2ddl.import_files
。将hibernate.hbm2ddl.aut
o属性更改为create
。 property 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>