为了账号安全,请及时绑定邮箱和手机立即绑定

hibernate报错:缺少Class?无法Configuration?

hibernate报错:缺少Class?无法Configuration?

苏天安戎 2016-10-23 22:47:03
提问更新一下学校授课J2EE开发,初接触Hibernate,做了个小程序,跑不出来,折腾3天了,,,求大神赐教,,,(T_T)Student.javapackage com.student;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import java.sql.Date;@Entitypublic class Student {    private int id;    private String name;    private String gender;    private Date birthday;    private String address;    @Id    @Column(name = "ID")    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    @Basic    @Column(name = "NAME")    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Basic    @Column(name = "GENDER")    public String getGender() {        return gender;    }    public void setGender(String gender) {        this.gender = gender;    }    @Basic    @Column(name = "BIRTHDAY")    public Date getBirthday() {        return birthday;    }    public void setBirthday(Date birthday) {        this.birthday = birthday;    }    @Basic    @Column(name = "ADDRESS")    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }}hibernate.cfg.xml<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD//EN"        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration>    <session-factory>        <property name="connection.url">jdbc:mysql://localhost:3306/sakila</property>        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.username">Hibernate</property>        <property name="connection.password">9627</property>        <property name="connection.pool_size">1</property>        <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>        <property name="javax.persistence.validation.mode">none</property>        <property name="current_session_context_class">thread</property>        <property name="show_sql">true</property>        <property name="format_sql">true</property>        <property name="hbm2ddl.auto">update</property>        <mapping class="com.student.Student"/>        <!-- DB schema will be updated if needed -->        <!-- <property name="hbm2ddl.auto">update</property> -->    </session-factory></hibernate-configuration>Main.javaimport com.student.Student;import org.hibernate.*;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import java.sql.Date;public class Main {    private static final SessionFactory ourSessionFactory;    private static final ServiceRegistry serviceRegistry;    static {        try {            Configuration configuration = new Configuration();            configuration.configure();            serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();            ourSessionFactory = configuration.buildSessionFactory(serviceRegistry);        } catch (Throwable ex) {            throw new ExceptionInInitializerError(ex);        }    }    private static Session getSession() throws HibernateException {        return ourSessionFactory.openSession();    }    public static void main(final String[] args) throws Exception {        try (Session session = getSession()) {            Transaction transaction = session.beginTransaction();            Student student = new Student();            student.setId(1000);            student.setName("Adam");            student.setGender("A");            student.setBirthday(Date.valueOf("19950101"));            student.setAddress("南京");            session.save(student);            Student stu = session.get(Student.class, 1);            System.out.println("ID=" + stu.getId()                    + "\nName=" + stu.getName()                    + "\nGender=" + stu.getGender()                    + "\nBirthday=" + stu.getBirthday()                    + "\nAddress=" + stu.getAddress());            transaction.commit();            ourSessionFactory.close();        }    }}运行Main()后,报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/service/ServiceRegistry    at java.lang.Class.forName0(Native Method)    at java.lang.Class.forName(Class.java:264)    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:123)Caused by: java.lang.ClassNotFoundException: org.hibernate.service.ServiceRegistry    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)    ... 3 moreProcess finished with exit code 1工程目录:已有的jar包:已经百度了好久,也没找到答案。。。刚刚接触hibernate,一窍不通,折腾3天了,求各位指导,先谢谢各位了
查看完整描述

2 回答

?
苏天安戎

TA贡献1条经验 获得超0个赞

咦?没人么   T_T

查看完整回答
反对 回复 2016-10-23
  • 2 回答
  • 0 关注
  • 4241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信