To use Hibernate with Microsoft SQL Server 2008 and JDBC 3.x drivers, you need to indroduce a new dialect like the following:
public class SQLServer2008Dialect extends SQLServerDialect { public SQLServer2008Dialect(){ registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime2" ); registerFunction( "current_timestamp", new NoArgSQLFunction("current_timestamp", Hibernate.TIMESTAMP,false) ); } }