我用的是hibernate3,SQLserver JDBC驱动也设置了classpath,主要配置代码如下:
1.hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="java:/hibernate/HibernateFactory">
<property name="show_sql">true</property>
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver 
</property>
<property name="connection.url">
jbdc:microsoft:sqlserver://localhost:1433;DatabaseName=hibernate_test
</property>
<property name="connection.username">
sa
</property>
<property name="connection.password">
shit
</property>
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<mapping resource="Customer.hbm.xml" /> 
</session-factory>
</hibernate-configuration>
2.Customer.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Customer" table="CUSTOMER">
<id name="id" column="CID">
<generator class="increment" />
</id>
<property name="username" column="USERNAME" />
<property name="password" column="PASSWORD" />
</class>
</hibernate-mapping>3.import org.hibernate.*; 
import org.hibernate.cfg.*; 
public class Test {
public static void main(String[] args) {
try{
SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
for (int i=0;i<200;i++) {
Customer customer=new Customer();
customer.setUsername("customer"+i);
customer.setPassword("customer");
session.save(customer);
}
tx.commit();
session.close();
}catch(HibernateException e) {
e.printStackTrace();
}
}
}4.Customer.java
public class Customer {
private int id;
private String username;
private String password;
public int getId(){
return id;
}
public String getPassword(){
    return password;
  }public String getUsername(){
return username;
}
  public void setId(int id) {
this.id=id;
  }
public void setPassword(String password) {
this.password=password;
}
public void setUsername(String username) {
this.username=username;
}}
用ant编译报如下错误 [java] log4j:WARN No appenders could be found for logger (org.hibernate.cfgironment).
 [java] log4j:WARN Please initialize the log4j system properly.
 [java] org.hibernate.exception.JDBCConnectionException: Cannot open connect
 [java]     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConer.java:74)
 [java]     at org.hibernate.exception.JDBCExceptionHelper.conver(JDBCExcepHelper.java:43)
 [java]     at org.hibernate.exception.JDBCExceptionHelper.conver(JDBCExcepHelper.java:29)
 [java]     at org.hibernate.jdbc.ConnectionManager.openConnection(Connectioager.java:420)
 [java]     at org.hibernate.jdbc.ConnectionManager.getConnection(Connectionger.java:144)
 [java]     at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:12
 [java]     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransactiava:57)
 [java]     at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.j1290)
 [java]     at Test.main(Unknown Source)
 [java] Caused by: java.sql.SQLException: No suitable driver
 [java]     at java.sql.DriverManager.getConnection(Unknown Source)
 [java]     at java.sql.DriverManager.getConnection(Unknown Source)
 [java]     at org.hibernate.connection.DriverManagerConnectionProvider.getC
ction(DriverManagerConnectionProvider.java:110)
 [java]     at org.hibernate.jdbc.ConnectionManager.openConnection(Connectioager.java:417)
 [java]     ... 5 moreD SUCCESSFUL
l time: 8 seconds

解决方案 »

  1.   

    相信很多学hibernate的朋友们也接触过这个例子的,可是我怎么也运行不了,希望各位了解hibernate的朋友来给以指点。
      

  2.   

    确定你的sql的jdbcdriver放在正确的目录下。
      

  3.   

    Cannot open connect 不能打开CONNECT 配置问题
      

  4.   

    To bigwhy(小毛) :
    sql的jdbcdriver放在了D:\workspace\My1stHibernate\lib\db下,应该没问题吧!
      

  5.   

    SQL Server 打了sp3以上的补丁了吗?没有打就连不上……
      

  6.   

    TO:awded(Schweigen)
    確實沒打,沒打sp3補丁一定連不上麽?
      

  7.   

    jbdc:microsoft:sqlserver://localhost:1433;DatabaseName=hibernate_test
     你的语句错了,!是
    jdbc不是jbdc
      

  8.   

    To:wrong1111() 
    謝謝你如此仔細的看我的代碼!
    剛剛又試了下,出現如下提示:
    [copy] Copying 2 files to D:\workspace\My1stHibernate\classes
    [java] log4j:WARN No appenders could be found for logger (org.hibernate.cfgronment).
    [java] log4j:WARN Please initialize the log4j system properly.
    [java] Exception in thread "
    [java] Java Result: 1