“上的错误”;围棋;运行本机查询时hibernate中的关键字

“上的错误”;围棋;运行本机查询时hibernate中的关键字,hibernate,Hibernate,我在读取.sql文件并通过hibernate执行生成的查询时遇到问题 错误生成步骤:读取.sql文件。-->并创建hibernate的SQLQuery对象。-->执行查询。假设存在hibernate会话,请遵循此代码段。我使用Hibernate4.2.0.1.Final和Spring的3.2.1.0版本 // optimization.sql is having 1500 lines of Indexes script... private static

我在读取.sql文件并通过hibernate执行生成的查询时遇到问题

错误生成步骤:读取.sql文件。-->并创建hibernate的SQLQuery对象。-->执行查询。假设存在hibernate会话,请遵循此代码段。我使用Hibernate4.2.0.1.Final和Spring的3.2.1.0版本

        // optimization.sql is having 1500 lines of Indexes script...     
        private static String resource = "/com/iqx/storage/queries/optimization.sql";        
        InputStream is = ExcelResourceReader.class.getResourceAsStream(resource);
        BufferedReader bf = new BufferedReader(new InputStreamReader(is));
        StringBuffer sb = new StringBuffer();
        while ((str = bf.readLine()) != null) {
            sb.append(str + "\n");
        }
        bf.close();     
        SQLQuery query = session.createSQLQuery(sb.toString());
        query.executeUpdate();
这只是“optimization.sql”上的一个索引示例。文件中大约有100个索引

        IF EXISTS (SELECT name FROM SYS.INDEXES WHERE NAME = N'QBI_TIDX')
            DROP INDEX [QBI_TIDX] ON [ABSTRACT_TABLE]
        GO
        CREATE NONCLUSTERED INDEX [QBI_TIDX] ON [ABSTRACT_TABLE] 
        (
            [QUOTE_FK] ASC,
            [ID] ASC
        )
        INCLUDE ( [VERSION],
        [DESCRIPTION]) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]
        GO
错误:“12:04:10.996[main]WARN o.h.e.jdbc.spi.SqlExceptionHelper-SQL错误:102,SQLState:S0001 12:04:10.996[main]错误o.h.e.jdbc.spi.SqlExceptionHelper-靠近“GO”的语法不正确。”

但是,当我使用SQLServerStudio运行生成的输出(Stringbuffer)时,它没有给我这个问题


如果有人有想法,请引导。提前感谢。

GO
不是SQL语句,它只是Microsoft工具使用的“分隔符”,服务器本身无法理解。谢谢。我在没有“Go”语句的情况下运行了相同的索引查询。它运行时没有任何错误。但是,我不确定这是否是正确的方法。