这是我第一次接触Hibernate和JPA注释。最近,我参与了一个使用Hibernate ORM和MVC的项目,在尝试在Eclipse IDE中运行时遇到了一个问题。假设我有一个这样的类声明:
User.java:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data;
@Data
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue
@Column(name="id_user")
private int id_user;
@Column(name="name")
private String name;
@Column(name="email")
private String email;
@Column(name="accesslevel")
private int accesslevel;
@Column(name="username")
private String username;
}
如果我有另一个类从这个类创建对象,例如,在MVC模式的用户控制器中:
User admin = new User();
admin.setUsername("Thommas");
然后我得到一个错误
"用户类型的setUsername(字符串(未定义">
我知道getters和setters方法在我的类中没有显式声明。但是这个代码是用这种方式为另一个人编写的。
我的问题是:
使用@Entity注释的这种类型的声明可以在不显式声明的情况下使用get和set,因此人员所做的是正确的,工作正常,因此问题不在于代码,而是另一个问题,如正确导入库或Eclipse配置
或
这是不允许的,我必须声明getters和setters方法。
我只是想知道,如果这是正确的,并且问题出现在我的配置中,也许该工具没有正确识别注释。非常感谢。
此项目使用龙目。您应该将其添加为依赖项,并配置IDE以识别它