[英]Using Hibernate @Column annotation without getters and setters methods declaration
這是我第一次接觸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控制器中:
User admin = new User();
admin.setUsername("Thommas");
然后我得到一個錯誤
“類型用戶未定義setUsername(String)”
我知道在我的課程中沒有明確聲明getters和setters方法。 但是此代碼是通過這種方式為另一個人編寫的。
我的問題是:
使用@Entity批注的這種聲明類型可以使用get和set's而不顯式聲明它們,因此此人的所作所為是正確的並且可以正常工作,因此問題不在於代碼,而是諸如正確導入庫或Eclipse配置之類的問題。
要么
不允許這樣做,我必須聲明getters和setters方法。
我只想知道這是否正確,而問題出在我的配置中,也許該工具無法正確識別注釋。 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.