org.hibernate.service.ServiceRegistry

时间:2019-01-26 08:43:09

标签: java spring hibernate maven servlets

在此Web项目中,出现错误 java.lang.ClassNotFoundException:org.hibernate.service.ServiceRegistry 发生

在搜索之后,有一个解决方案是在POM.xml文件中添加休眠依赖关系,但它不是Maven项目,因此我没有POM文件...所以还有其他方法可以在其中添加依赖关系web.xml或hibernate.cfg.xml文件或与此不同的解决方案。

package DAO;

import java.util.ArrayList;

import javax.transaction.Transaction;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.GamesDen.SessionFact;

import Bean.Customer;

public class CustomerOperations implements CustomerDeclarations {
    SessionFactory sf = SessionFact.getSessionFact();
    Session ss;
    Transaction ts;

    @Override
    public boolean insertCustomer(Customer cr) {
        // TODO Auto-generated method stub

        ss = sf.openSession();
        ss.beginTransaction();
        cr.setCustomer_id(101);
        ss.save(cr);
        ss.getTransaction().commit();
        ss.close();
        return true;
    }

    @Override
    public boolean deleteCustomer(int id) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean alterCustomer(int id) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public ArrayList showAllCustomer() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public ArrayList searchByUsername(String username) {
        // TODO Auto-generated method stub
        return null;
    }

}

CustomerOperations

package DAO;

import java.util.ArrayList;

import javax.transaction.Transaction;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import org.hibernate.Session;

import Bean.Customer;

public class CustomerOperations implements
        CustomerDeclarations {
    SessionFactory sf = SessionFact.getSessionFact();
    Session ss;
    Transaction ts;

    @Override
    public boolean insertCustomer(Customer cr) {
        // TODO Auto-generated method stub

        ss = sf.openSession();
        ss.beginTransaction();
        cr.setCustomer_id(101);
        ss.save(cr);
        ss.getTransaction().commit();
        ss.close();
        return true;
    }

    @Override
    public boolean deleteCustomer(int id) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean alterCustomer(int id) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public ArrayList showAllCustomer() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public ArrayList searchByUsername(String username) {
        // TODO Auto-generated method stub
        return null;
    }

}

   package Bean;

           import javax.persistence.*;

@Entity
public class Customer {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int Customer_id;
    @Column(unique = true, nullable = false)
    private String username;
    @Column(unique = true, nullable = false)
    private String first_name;
    private String last_name;

    private Address address;
    @Column(unique = true, nullable = false)
    private String emailid;
    @Column(unique = true, nullable = false)
    private String PASSWORD;


    @Override
    public String toString() {
        return "Customer [Customer_id=" + Customer_id + ", 
        username = " + username + ", first_name = " + first_name
                + ", last_name=" + last_name + ", 
        address = "+address+", emailid = " + emailid + ", PASSWORD = " + 
        PASSWORD + "]";
    }

    public Customer(int customer_id, String username, String
            first_name, String last_name, Address adr, String emailid,
                    String pASSWORD) {
        super();
        this.username = username;
        this.first_name = first_name;
        this.last_name = last_name;
        this.address = adr;
        this.emailid = emailid;
        this.PASSWORD = pASSWORD;
    }


    public int getCustomer_id() {
        return Customer_id;
    }

    public void setCustomer_id(int customer_id) {
        Customer_id = customer_id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getFirst_name() {
        return first_name;
    }

    public void setFirst_name(String first_name) {
        this.first_name = first_name;
    }

    public String getLast_name() {
        return last_name;
    }

    public void setLast_name(String last_name) {
        this.last_name = last_name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public String getEmailid() {
        return emailid;
    }

    public void setEmailid(String emailid) {
        this.emailid = emailid;
    }

    public String getPASSWORD() {
        return PASSWORD;
    }

    public void setPASSWORD(String pASSWORD) {
        PASSWORD = pASSWORD;
    }


}

对于此类找不到错误的解决方案,除了在pom文件中添加休眠核心依赖项之外,没有其他解决方案,因为它不是maven项目。

1 个答案:

答案 0 :(得分:0)

不,您不能在没有hibernate-core依赖项的情况下(在您的类路径中)使用 (任何版本)。

如果您不使用Maven,则没问题:

  1. 您可以下载完整的“ hibernate-orm”发行版(来自hibernate (5.4) release site的.zip文件):http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.4.1.Final/hibernate-release-5.4.1.Final.zip/download

  2. 您可以下载并使用所有Maven工件,而无需实际使用maven,因为maven.central(和其他公共Maven存储库)可通过html提供公共访问:download hibernate-core-5.4.1.Final.jar from central.maven.org