我究竟哪里错了-hibernate
我的配置信息
D:\hibernate-2.1\src\hibernate.properties注释HypersonicSQL取消MYSQL注释,修改如下
hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class org.gjt.mm.mysql.Driver
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost:3306/test
hibernate.connection.username root
hibernate.connection.password
D:\Middlegen-Hibernate-r5\config\database\mysql.xml修改如下
<property name="database.driver.file" value="${lib.dir}/mysql.jar"/>
<property name="database.driver.classpath" value="${database.driver.file}"/>
<property name="database.driver" value="com.mysql.jdbc.Driver"/>
<property name="database.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="database.userid" value="root"/>
<property name="database.password" value=""/>
D:\Middlegen-Hibernate-r5\build.xml修改如下
第24行<!ENTITY database SYSTEM "file:./config/database/mysql.xml">
第51行<property name="build.gen-src.dir" value="d:\temp"/>
第158行<table name="abc"/>
第185行package="edu"
用hbm2java生成了java文件新建工程Hiber,包edu,将abc.java,abc.hbm.xml,hibernate.properties放入包中导入了D:\hibernate-2.1\hibernate2.jar,D:\hibernate-2.1\lib\*.jar,和mysql.jar
测试代码如下
package edu;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.MappingException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.cfg.Configuration;
public class test {
public static void main(String[] args) throws MappingException, HibernateException {
SessionFactory sf=new Configuration().addClass(Abc.class).buildSessionFactory();
Session s=sf.openSession();
Transaction trans =s.beginTransaction();
Abc aaa=new Abc();
aaa.setId(new Integer(2));
aaa.setName("bbb");
aaa.setScore(new Integer(100));
s.save(aaa);
trans.commit();
s.close();
sf.close();
}
}
出错信息如下
2005-12-3 19:19:09 net.sf.hibernate.cfg.SettingsFactory buildSettings警告: No dialect set - using GenericDialect: The dialect was not set. Set the property
。。。。。
2005-12-3 19:19:10 net.sf.hibernate.impl.SessionFactoryObjectFactory addInstance信息: no JNDI name configured
java.lang.UnsupportedOperationException: The user must supply a JDBC connection at net.sf.hibernate.connection.UserSuppliedConnectionProvider.getConnection
(UserSuppliedConnectionProvider.java:32)
at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:278)
at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3264)
at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3244)
at net.sf.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:40)
at net.sf.hibernate.transaction.JDBCTransactionFactory.beginTransaction
(JDBCTransactionFactory.java:19)
at net.sf.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:2195) at edu.test.main(test.java:16)Exception in thread "main"
在hibernate.properties和mysql.xml中我已经修改好了driver和url,为什么总提示The user must supply a JDBC connection。
我还有哪一步没有作,或者哪一步作错了?