java एसक्यूएल सर्वर के लिए हाइबरनेट कॉन्फ़िगरेशन फ़ाइल को कॉन्फ़िगर कैसे करें




sql-server hibernate (4)

SQL सर्वर के लिए कनेक्शन यूआरएल इस तरह दिखना चाहिए:

jdbc:sqlserver://serverName[\instanceName][:port][;databaseName=your_db_name]

उदाहरण:

jdbc:sqlserver://localhost
jdbc:sqlserver://127.0.0.1\INGESQL:1433;databaseName=datatest
...

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 सर्वर 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> 

गुण जो डेटाबेस विशिष्ट हैं:

  • hibernate.connection.driver_class : जेडीबीसी ड्राइवर वर्ग
  • hibernate.connection.url : जेडीबीसी यूआरएल
  • hibernate.connection.username : डेटाबेस उपयोगकर्ता
  • hibernate.connection.password : डेटाबेस पासवर्ड
  • hibernate.dialect : एक हाइबरनेट org.hibernate.dialect.Dialect का वर्ग नाम जो हाइबरनेट को किसी विशेष संबंध डेटाबेस के लिए अनुकूलित SQL उत्पन्न करने की अनुमति देता है।

डेटाबेस बदलने के लिए, आपको यह करना होगा:

  1. कक्षा पथ पर डेटाबेस के लिए उपयुक्त जेडीबीसी ड्राइवर प्रदान करें,
  2. जेडीबीसी गुणों को बदलें ( ड्राइवर, यूआरएल, उपयोगकर्ता, पासवर्ड )
  3. डेटाबेस से बात करने के लिए हाइबरनेट द्वारा उपयोग की जाने वाली Dialect बदलें

SQL सर्वर से कनेक्ट करने के लिए दो ड्राइवर हैं; ओपन सोर्स jTDS और माइक्रोसॉफ्ट एक। ड्राइवर वर्ग और जेडीबीसी यूआरएल इस बात पर निर्भर करता है कि आप किसका उपयोग करते हैं।

जेटीडीएस चालक के साथ

ड्राइवर वर्ग का नाम net.sourceforge.jtds.jdbc.Driver

Sqlserver के लिए यूआरएल प्रारूप है:

 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>

माइक्रोसॉफ्ट एसक्यूएल सर्वर जेडीबीसी 3.0 के साथ:

ड्राइवर वर्ग का नाम com.microsoft.sqlserver.jdbc.SQLServerDriver

यूआरएल प्रारूप है:

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

तो हाइबरनेट कॉन्फ़िगरेशन इस तरह दिखेगा:

<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>

संदर्भ


हमें SQSERVER के लिए डिफ़ॉल्ट स्कीमा का भी उल्लेख करना होगा: डीबीओ

<property name="hibernate.default_schema">dbo</property>

हाइबरनेट 4 के साथ परीक्षण किया


आखिरकार यह Tomcat में Hibernate 5 लिए है।

उपरोक्त से सभी उत्तरों संकलित और मेरी युक्तियों को जोड़ा जो Hibernate 5 and SQL Server 2014 लिए एक आकर्षण की तरह काम करता है।

<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
   org.hibernate.dialect.SQLServerDialect
</property>
<property name="hibernate.connection.driver_class">
   com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="hibernate.connection.url">  
jdbc:sqlserver://localhost\ServerInstanceOrServerName:1433;databaseName=DATABASE_NAME 
</property>
<property name="hibernate.default_schema">theSchemaNameUsuallydbo</property>
<property name="hibernate.connection.username">
   YourUsername
</property>
<property name="hibernate.connection.password">
   YourPasswordForMSSQL
</property>




hibernate.cfg.xml