私はかなりの時間をかけて調査し、構成が間違っている場所を特定しようとしましたが、完全に固執しました。私が知っている記事から、私の運転手はクラスパスにいないということです。 Class.forName( "com.ibm.db2.jcc.DB2Driver")行を追加して、ドライバが使用可能であり、その行にロードされていることを確認しました。私が逃したかもしれないことについての提案は本当にありがたいです。指定されたJDBCドライバcom.ibm.db2.jcc.DB2Driverクラスが見つかりません
私のコードは次のとおりです。
public class TestHibernateConfig {
private static SessionFactory sessionFactory;
public static void testConfig() {
try {
DB2Driver drvr = (DB2Driver) Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
sessionFactory = cfg.buildSessionFactory();
Session sess = sessionFactory.getCurrentSession();
Transaction tx = sess.beginTransaction();
Criteria crit = sess.createCriteria(ItemData.class);
List items = crit.list();
} catch (Exception e) {
Logger logger = Logger.getLogger("");
logger.error(e.getMessage());
}
}
}
自分のコードが当たったとき、私はクラスが見つからないというエラーが出ます: のSessionFactory = cfg.buildSessionFactory(); Eclipse内から
hibernate.cfg.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="speed2db2">
<property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
<property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
<property name="hibernate.connection.url">jdbc:db2://appdb:50000/MYTEST</property>
<property name="hibernate.connection.username">myUser</property>
<property name="hibernate.connection.password">myPass</property>
</session-factory>
</hibernate-configuration>
persistence.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="speedPersistUnit">
<class>ItemData</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect"/>
<property name="hibernate.connection.url" value="jdbc:db2://appdb:50000/MYTEST"/>
<property name="hibernate.default_schema" value="MYSCHEMA"/>
<property name="hibernate.connection.username" value="myUser"/>
<property name="hibernate.connection.password" value="myPass"/>
<property name="hibernate.connection.driver_class" value="com.ibm.db2.jcc.DB2Driver"/>
</properties>
</persistence-unit>
</persistence>
私は、データベースに接続することができると私はHibernateの視点に行けば、私はすることができますよデータベーススキーマを参照してください。また、HQLエディタを使用してクラス内のデータをロードすることもできます。
編集:
09:35:50,338 INFO [org.hibernate.cfg.Configuration] (http-xxxxxx-xx.xx.xx.xxxx-15081-1) HHH000043: Configuring from resource: /com/newpig/speed2DB2/hibernate.cfg.xml
09:35:50,340 INFO [org.hibernate.cfg.Configuration] (http-xxxxxx-xx.xx.xx.xxxx-15081-1) HHH000040: Configuration resource: /com/newpig/speed2DB2/hibernate.cfg.xml
09:35:50,369 INFO [org.hibernate.cfg.Configuration] (http-xxxxxx-xx.xx.xx.xxxx-15081-1) HHH000041: Configured SessionFactory: speed2db2
09:35:52,059 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-xxxxxx-xx.xx.xx.xxxx-15081-1) HHH000402: Using Hibernate built-in connection pool (not for production use!)
09:36:16,856 ERROR [] (http-xxxxxx-xx.xx.xx.xxxx-15081-1) Specified JDBC Driver com.ibm.db2.jcc.DB2Driver class not found
エラーは、この行で発生します。
私の.warファイルにデプロイsessionFactory = cfg.buildSessionFactory();
:
の.war
| -WEB-INF
|| -lib
||| -db2jcc4.jar
||| -hibernate、コア - 4.1.2.Final.jar
||| -hibernate-のEntityManager-4.1.2.Final.jar
||| -hibernate-JPA-2.0-API-1.0.1.Final.jar
ここで、エラーが発生し、関連するスタックトレースや他の形式のログを共有できますか? – aishwarya
私はスタックトレースを追加しました。 configファイルがロードされていることを示しています。 – SteveS