sqlserverdialect.java
来自「介绍了hibernate的入门有一些基本常用的事例」· Java 代码 · 共 87 行
JAVA
87 行
//$Id: SQLServerDialect.java,v 1.14 2005/04/13 04:44:35 oneovthafew Exp $package org.hibernate.dialect;import java.sql.Types;import org.hibernate.Hibernate;import org.hibernate.LockMode;import org.hibernate.dialect.function.VarArgsSQLFunction;/** * A dialect for Microsoft SQL Server 2000 * @author Gavin King */public class SQLServerDialect extends SybaseDialect { public SQLServerDialect() { registerFunction( "concat", new VarArgsSQLFunction( Hibernate.STRING, "(","+",")" ) ); registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); } public String getNoColumnsInsertString() { return "default values"; } static int getAfterSelectInsertPoint(String sql) { int selectIndex = sql.toLowerCase().indexOf( "select" ); final int selectDistinctIndex = sql.toLowerCase().indexOf( "select distinct" ); return selectIndex + ( selectDistinctIndex == selectIndex ? 15 : 6 ); } public String getLimitString(String querySelect, int offset, int limit) { if (offset>0) throw new UnsupportedOperationException("sql server has no offset"); return new StringBuffer( querySelect.length()+8 ) .append(querySelect) .insert( getAfterSelectInsertPoint(querySelect), " top " + limit ) .toString(); } /** * Use <tt>insert table(...) values(...) select SCOPE_IDENTITY()</tt> * * @author <a href="mailto:jkristian@docent.com">John Kristian</a> */ public String appendIdentitySelectToInsert(String insertSQL) { return insertSQL + " select scope_identity()"; } public boolean supportsLimit() { return true; } public boolean useMaxForLimit() { return true; } public boolean supportsLimitOffset() { return false; } public boolean supportsVariableLimit() { return false; } public char closeQuote() { return ']'; } public char openQuote() { return '['; } public String appendLockHint(LockMode mode, String tableName) { if ( mode.greaterThan(LockMode.READ) ) { return tableName + " with (updlock, rowlock)"; } else { return tableName; } } public String getSelectGUIDString() { return "select newid()"; } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?