开发者

Connecting to SQL Server using Hibernate

How to connect to the Sql Server database by using Hibernate in Netbe开发者_JS百科ans 6.7.1? Please advice.

The dialect is disabled for me.


For SQL Server 2000 and 2005, you should use SQLServerDialect (that should be preferred over SybaseDialect that will be deprecated).

I can't verify how NetBeans Hibernate wizard behave with SQL Server but, according to this tutorial:

When you create a Hibernate configuration file using a wizard you specify the database connection by choosing from a list of database connection registered with the IDE. When generating the configuration file the IDE automatically adds the connection details and dialect information based on the selected database connection.

So, my question is: did you register a database connection for your SQL Server database? If not, go to Services, add a New Driver (right click on the Drivers node) for your SQL Server JDBC driver and add a New Connection (right click on the Databases node) with the right URL for your database.


For anyone using Hibernate with SQL Server – our customized dialect may help: http://www.componentix.com/blog/5/improved-hibernate-dialect-for-microsoft-sql-server

public class SQLServerDialect extends org.hibernate.dialect.SQLServerDialect {

   /**
    * Initializes a new instance of the {@link SQLServerDialect} class.
    */
    public SQLServerDialect() {
        registerColumnType(Types.BIGINT, "bigint");
        registerColumnType(Types.BIT, "bit");
        registerColumnType(Types.CHAR, "nchar(1)");
        registerColumnType(Types.VARCHAR, 4000, "nvarchar($l)");
        registerColumnType(Types.VARCHAR, "nvarchar(max)");
        registerColumnType(Types.VARBINARY, 4000, "varbinary($1)");
        registerColumnType(Types.VARBINARY, "varbinary(max)");
        registerColumnType(Types.BLOB, "varbinary(max)");
        registerColumnType(Types.CLOB, "nvarchar(max)");
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜