当前位置: 首页 > 知识库问答 >
问题:

java.lang.NoClassDefoundError:无法初始化类com.dao.userdao

翟英达
2023-03-14
public class UserDAO extends GenericDAO<User> {

   private static final long serialVersionUID = 1L;

   public UserDAO() {
       super(User.class);
   }

   public User findUserByEmail(String email) {
       Map<String, Object> parameters = new HashMap<String, Object>();
       parameters.put("email", email);

       return super.findOneResult(User.FIND_BY_EMAIL, parameters);
   }
}

UserFacade:

public class UserFacade {
   private UserDAO userDAO = new UserDAO();

    public User isValidLogin(String email, String password) {
        userDAO.beginTransaction();
        User user = userDAO.findUserByEmail(email);

        if (user == null || !user.getPassword().equals(password)) {
            return null;
        }

        return user;
   }
}

用户

@Entity
@Table(name = "USERS")
@NamedQuery(name = "User.findUserByEmail", query = "select u from User u where u.email = :email")
public class User implements Serializable {

   private static final long serialVersionUID = 1L;

   public static final String FIND_BY_EMAIL = "User.findUserByEmail";

   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private int id;

   @Column(unique = true)
   private String email;
   private String password;
   private String name;
   @Enumerated(EnumType.STRING)
   private Role role;

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public String getEmail() {
       return email;
   }

   public void setEmail(String email) {
       this.email = email;
   }

   public String getPassword() {
       return password;
   }

   public void setPassword(String password) {
       this.password = password;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public Role getRole() {
       return role;
   }

   public void setRole(Role role) {
       this.role = role;
   }

   public boolean isAdmin() {
       return Role.ADMIN.equals(role);
   }

   public boolean isUser() {
       return Role.USER.equals(role);
   }

   @Override
   public int hashCode() {
       return getId();
   }

   @Override
   public boolean equals(Object obj) {
       if (obj instanceof User) {
           User user = (User) obj;
           return user.getId() == id;
       }

       return false;
   }
}

共有1个答案

国俊艾
2023-03-14

此错误与未找到类或未找到库有关,请尝试重新导入Hibernate和JPA的正确库。

请下载:http://hibernate.org/orm/

解压缩,并从ORM Hibernate的正确功能所需的Hibernate\lib\文件夹中复制所有JAR,并从Hibernate\lib\jpa中复制所有jars以实现include jpa。

 类似资料:
  • 当我在iReport 5.1.0中预览JasperReports的报告时,它执行得很好。它包含一个饼图,当我需要从jsp文件运行它时,问题就来了。 烧烤-1.5-beta1.jar commons-beanutils-1.8.2.jar Commons-Collections-3.2.1.jar commons-digester-2.1.jar commons-javaflow-20060411.

  • 问题内容: 是我自己的一类。该类与主类位于同一JAR文件中。因此,这不应该是因为classpath中缺少任何JAR。 当我通过查阅JAR文件时,可以看到其中列出的内容。 顺便说一句:代码在我的本地计算机上运行良好。但是当我将其与某些脚本一起部署到Linux服务器上时无法工作。所以我认为这不是代码的问题。但是出于某种原因。部署过程很难跟踪。 可能是什么问题呢? 问题答案: 我最好的选择是这里有一个问

  • 问题内容: 我是EJB的新手。我的经理告诉我在测试服务器中部署ejb应用程序进行一些修改。该应用程序已经在我们的生产服务器中运行。但是,当我部署应用程序时,我遇到了异常。 我们正在使用Glassfish应用服务器 堆栈异常跟踪: 当我重新启动服务器时,我得到了这些: 在这里您也可以看到相同的问题 任何人都可以 请 帮我,为什么这个错误即将到来。 这是非常需要的。 谢谢 问题答案: 问题解决了。 实

  • 问题内容: 我在此添加了web.xml的源代码 Hibernate.cfg.xml。我的Web服务项目与Jersey + Hibernate一起使用。 这是HibernateUtil类 这是我添加了Hibernate最新的jar文件的错误。[ hibernate-core-4.3.7.Final.jar ] 请帮我解决这个问题谢谢 问题答案: 初始化失败时可能会发生这种错误。您已经提到您正在使用。

  • 在Spring启动应用程序中使用jjwt在REST API中进行基于令牌的身份验证。它在我的本地环境中工作得很好,但是当我在Tomcat中部署war时,它会给出异常-无法初始化类io.jsonwebtoken.Signature的算法。Signature的算法类在jar中,但它的给出java.lang.NoClassDefFoundError错误。 努力在Tomcat中部署它并开始工作。需要帮助来