zoukankan      html  css  js  c++  java
  • Hibernate 配置详解(12) 补充

    hibernate.hbm2ddl.import_files_sql_extractor

    这个配置项用于补充这篇文章:

    http://blog.csdn.net/stefwu/article/details/10584161

    在这篇文章中,我们提到,如果使用了自己的SQL文件,在SQL文件中的SQL就只能是一条SQL一行,不能格式化。如果你的SQL是格式化了的,或者在你的SQL里面甚至有特殊的内容需要处理之后才能执行,那么你只需要配置一个hibernate.org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor就可以了。这个配置需要一个ImportSqlCommandExtractor接口的实现(这个接口其实是一个Service,关于Servicehibernate4的一个非常重要的改变,后面再慢慢介绍),这个接口的作用就是用于从Reader里面解析出一条一条能够直接执行的SQL命令。

    hibernate提供了两个默认的ImportSqlCommandExtractor:一个是MultipleLinesSqlCommandExtractor,一个是SingleLineSqlCommandExtractor,从名字上面就能很明显的看到,一个可以用于解析SQL分散到多行的情况,一个只能用于解析单行的SQL,默认情况下hibernate使用的是:SingleLineSqlCommandExtractor

      public class ImportSqlCommandExtractorInitiator implements BasicServiceInitiator<ImportSqlCommandExtractor> {
      	public static final ImportSqlCommandExtractorInitiator INSTANCE = new ImportSqlCommandExtractorInitiator();
      	public static final ImportSqlCommandExtractor DEFAULT_EXTRACTOR = new SingleLineSqlCommandExtractor();

    可以很清楚的看到,DEFAULT_EXTRACTORSingleLineSqlCommandExtractor

    所以,如果要能够导入多行的SQL,只需要配置:

      hibernate.hbm2ddl.import_files_sql_extractor=org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor

    就可以了。


  • 相关阅读:
    php趣题小记
    git常用语法
    Go 使用小记
    小程序 显示对话框 确定-取消
    小程序 后退一页
    Vue脚手架使用步骤 2.9.6版本
    小程序 后台返回的对象数组(每个数组添加一个新的属性值)
    小程序 添加对象
    小程序图表wx-chart
    微信小程序之自定义select下拉选项框组件
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3292171.html
Copyright © 2011-2022 走看看