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 + -
显示快捷键?