使用Hibernate@Column注释而不使用getters和setters方法声明



这是我第一次接触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以识别它

最新更新