一尘不染

如何为SQL Server配置hibernate配置文件

hibernate

这是MySQL的配置文件:

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">zgy01</property>
    <property name="hibernate.connection.pool_size">100</property>
    <property name="show_sql">false</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

    <!-- Mapping files -->
    <mapping resource="model.hbm.xml"/>

  </session-factory>
</hibernate-configuration>

为SQL Server 2005指定什么?我这样做是这样的:

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
    <property name="hibernate.connection.url">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password">lal</property>
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

    <property name="hibernate.connection.pool_size">100</property>        
    <property name="show_sql">false</property>

    <!-- Mapping files -->
    <mapping resource="model.hbm.xml"/>

  </session-factory>
</hibernate-configuration>

我的问题更确切地说是如何指定必须连接的数据库?

在MySQL中,我曾经这样做:

<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>

阅读 459

收藏
2020-06-20

共1个答案

一尘不染

特定于数据库的 属性是:

  • hibernate.connection.driver_class:JDBC驱动程序类
  • hibernate.connection.url:JDBC URL
  • hibernate.connection.username:数据库用户
  • hibernate.connection.password:数据库密码
  • hibernate.dialect:Hibernate的类名,org.hibernate.dialect.Dialect它允许Hibernate生成针对特定关系数据库优化的SQL。

要更改数据库,您必须:

  1. 在类路径上为数据库提供适当的JDBC驱动程序,
  2. 更改JDBC属性( 驱动程序,URL,用户,密码
  3. 更改DialectHibernate用来与数据库对话

有两个驱动程序可以连接到SQL
Server。开源jTDS和Microsoft。驱动程序类和JDBC
URL取决于您使用哪一种。

使用jTDS驱动程序

驱动程序类名称为net.sourceforge.jtds.jdbc.Driver

sqlserver的URL格式为:

 jdbc:jtds:sqlserver://<server>[:<port>][/<database>][;<property>=<value>[;...]]

因此,Hibernate配置如下所示(请注意,您可以跳过hibernate.属性中的前缀):

<hibernate-configuration>
  <session-factory>
    <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
    <property name="connection.url">jdbc:jtds:sqlserver://<server>[:<port>][/<database>]</property>
    <property name="connection.username">sa</property>
    <property name="connection.password">lal</property>

    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

    ...
  </session-factory>
</hibernate-configuration>

使用Microsoft SQL Server JDBC 3.0:

驱动程序类名称为com.microsoft.sqlserver.jdbc.SQLServerDriver

URL格式为:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

因此,Hibernate配置如下所示:

<hibernate-configuration>
  <session-factory>
    <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <property name="connection.url">jdbc:sqlserver://[serverName[\instanceName][:portNumber]];databaseName=<databaseName></property>
    <property name="connection.username">sa</property>
    <property name="connection.password">lal</property>

    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

    ...
  </session-factory>
</hibernate-configuration>

参考文献

2020-06-20