///**
// * 
// */
//package com.leanwo.activiti.db;
//
//import java.sql.Types;
//
//import org.hibernate.dialect.SQLServer2008Dialect;
//import org.hibernate.type.StandardBasicTypes;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//
///**
// * @author YangZhiJie
// *
// */
//public class LeanwoSqlServerDialect extends SQLServer2008Dialect {
//	
//	private static Logger logger = LoggerFactory.getLogger(LeanwoSqlServerDialect.class);
//	
//	public LeanwoSqlServerDialect(){
//		super();
//		// 修复时间相差两天的BUG
//        registerColumnType(Types.TIMESTAMP, "datetime");
//        registerColumnType(Types.DATE, "datetime");
//        registerColumnType(Types.TIME, "datetime");
//        
//        // nvarchar 存储统一的Unicode字节码，存储中文不会出现乱码情况。
//        // Hibernate 默认将String类型的属性映射成varchar类型。
//        // 将Hibernate 默认映射改为nvarchar
//        registerColumnType(Types.CHAR, "nchar(1)");
//        registerColumnType(Types.LONGVARCHAR, "nvarchar(max)" );
//        registerColumnType(Types.VARCHAR, 4000, "nvarchar($l)");
//        registerColumnType(Types.VARCHAR, "nvarchar(max)");
//        registerColumnType(Types.CLOB, "nvarchar(max)" );
//
//        registerColumnType(Types.NCHAR, "nchar(1)");
//        registerColumnType(Types.LONGNVARCHAR, "nvarchar(max)");
//        registerColumnType(Types.NVARCHAR, 4000, "nvarchar($l)");
//        registerColumnType(Types.NVARCHAR, "nvarchar(max)");
//        registerColumnType(Types.NCLOB, "nvarchar(max)");
//
//        registerHibernateType(Types.NCHAR, StandardBasicTypes.CHARACTER.getName());
//        registerHibernateType(Types.LONGNVARCHAR, StandardBasicTypes.TEXT.getName());
//        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
//        registerHibernateType(Types.NCLOB, StandardBasicTypes.CLOB.getName() );
//	}
//	
//	/* (non-Javadoc)
//	 * @see org.hibernate.dialect.Dialect#getAddForeignKeyConstraintString(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], boolean)
//	 */
//	@Override
//	public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable,
//			String[] primaryKey, boolean referencesPrimaryKey) {
//		String str = super.getAddForeignKeyConstraintString(constraintName, foreignKey, referencedTable, primaryKey,
//				referencesPrimaryKey);
//		return str;
//	}
//
//	/* (non-Javadoc)
//	 * @see org.hibernate.dialect.Dialect#getAddPrimaryKeyConstraintString(java.lang.String)
//	 */
//	@Override
//	public String getAddPrimaryKeyConstraintString(String constraintName) {
//		String str = super.getAddPrimaryKeyConstraintString(constraintName);
//		return str;
//	}
//	
//
//	@Override
//	public String getAddColumnString() {
//		return "Add ";
//	}
//
//}
