运行该应用程序时出现以下错误。任何人都可以帮助我了解我在做什么错
在文件[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;
}
}
答案 0 :(得分:2)
您不应为实体类添加@Repository。它将使此类成为一个组件,该组件将触发您唯一的构造函数中的参数自动装配。
您应该具有另一个类作为此表的存储库。请尝试按照此处的说明进行操作: https://spring.io/guides/gs/accessing-data-jpa/
答案 1 :(得分:1)
对不起,您好,我迟到了答复,我可以通过添加默认构造函数来解决此问题
公共用户(){}
我是spring / hibernate领域的新手,所以我没有意识到hibernate需要实体类的默认构造函数。