一切配置都弄好了,但在运行这个程序:
public class ManyToOneTest extends BaseHibernateDAO {
public static void main(String[] args)
{
new ManyToOneTest().testManyToOne();
}
public void testManyToOne()
{
TblJd jd=(TblJd)super.get(TblJd.class,new Integer(1));
String qxname=jd.getTblqx().getQx();
System.out.println(qxname+","+jd.getJd());
}
}
时出现了问题:
og4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
%%%% Error Creating SessionFactory %%%%
org.hibernate.HibernateException: JDBC Driver class not found: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:66)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at com.aptech.jb.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:60)
at com.aptech.jb.HibernateSessionFactory.getSession(HibernateSessionFactory.java:43)
at com.aptech.jb.DAO.BaseHibernateDAO.getSession(BaseHibernateDAO.java:104)
at com.aptech.jb.DAO.BaseHibernateDAO.get(BaseHibernateDAO.java:19)
at com.aptech.jb.test.ManyToOneTest.testManyToOne(ManyToOneTest.java:20)
at com.aptech.jb.test.ManyToOneTest.main(ManyToOneTest.java:16)
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:108)
at org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:61)
... 12 more
java.lang.NullPointerException
at com.aptech.jb.DAO.BaseHibernateDAO.get(BaseHibernateDAO.java:21)
at com.aptech.jb.test.ManyToOneTest.testManyToOne(ManyToOneTest.java:20)
at com.aptech.jb.test.ManyToOneTest.main(ManyToOneTest.java:16)
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: entity/TblJd.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.aptech.jb.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:59)
at com.aptech.jb.HibernateSessionFactory.getSession(HibernateSessionFactory.java:43)
at com.aptech.jb.DAO.BaseHibernateDAO.closeSession(BaseHibernateDAO.java:114)
at com.aptech.jb.DAO.BaseHibernateDAO.get(BaseHibernateDAO.java:27)
at com.aptech.jb.test.ManyToOneTest.testManyToOne(ManyToOneTest.java:20)
at com.aptech.jb.test.ManyToOneTest.main(ManyToOneTest.java:16)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping entity.TblJd
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:154)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 11 more
Exception in thread "main" java.lang.NullPointerException
at com.aptech.jb.test.ManyToOneTest.testManyToOne(ManyToOneTest.java:21)
at com.aptech.jb.test.ManyToOneTest.main(ManyToOneTest.java:16)
原因是什么呀?