这是我第一次接触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 模式的用户 Controller 中:
User admin = new User();
admin.setUsername("Thommas");
然后我收到一个错误
"setUsername(String) is undefined for the type User"
我知道 getter 和 setter 方法没有在我的类中显式声明。但这段代码是为另一个人这样编写的。
我的问题是:
使用 @Entity 注释的这种类型的声明可以使用 get 和 set ,而无需显式声明它们,因此该人所做的事情是正确的并且工作正常,因此问题不是代码,而是另一个问题,例如正确导入库或 Eclipse 配置
或者
这是不允许的,我必须声明 getter 和 setters 方法。
我只是想知道这是否正确并且问题出在我的配置中,也许该工具无法正确识别注释。谢谢!
最佳答案
该项目使用 Lombok 。 您应该将其添加为依赖项和 configure IDE来识别它。
关于java - 使用 Hibernate @Column 注释而不使用 getter 和 setters 方法声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45919468/