普通字段没有异常类型为java.lang.String的合格Bean

时间:2018-06-19 21:54:23

标签: java spring hibernate

运行该应用程序时出现以下错误。任何人都可以帮助我了解我在做什么错

  

在文件[C:\ Users \ Admin1 \ Login.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ MVC \ WEB-INF \ classes \中定义的名称为'user'的bean创建错误Validation \ user.class]:通过构造函数参数0表示的不满足的依赖关系;嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的'java.lang.String'类型的合格Bean:期望至少有1个有资格作为自动装配候选的Bean。依赖项注释:{}

package Validation;
import java.util.Date;
import org.springframework.stereotype.Repository;

import DAO.Processor;

import javax.validation.constraints.Past;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

@Repository
@Entity
@Table(name = "APP_USER", schema = "claim")
public class user {

 @Id
 private int uid;

 @OneToOne
 @JoinColumn(name = "PID")
 Processor P;

 @NotNull
 String username = null;
 @NotNull
 String password;
 public Processor getP() {
  return P;
 }

 public void setP(Processor p) {
  P = p;
 }

 @NotNull
 String email;
 @Past @NotNull
 Date DOB;

 public user(String username, String password, String email, Date dob) {

  this.email = email;
  this.username = username;
  this.DOB = dob;
  this.password = password;

 }

 public String getUsername() {
  return username;
 }

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

 public String getPassword() {
  return password;
 }

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

 public String getEmail() {
  return email;
 }

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

 public Date getDOB() {
  return DOB;
 }

 public void setDOB(Date dOB) {
  DOB = dOB;
 }
}

2 个答案:

答案 0 :(得分:2)

您不应为实体类添加@Repository。它将使此类成为一个组件,该组件将触发您唯一的构造函数中的参数自动装配。

您应该具有另一个类作为此表的存储库。请尝试按照此处的说明进行操作: https://spring.io/guides/gs/accessing-data-jpa/

答案 1 :(得分:1)

对不起,您好,我迟到了答复,我可以通过添加默认构造函数来解决此问题

公共用户(){}

我是spring / hibernate领域的新手,所以我没有意识到hibernate需要实体类的默认构造函数。