Java持久性问题
问题描述:
嗨我是Java持久性的新手。 我把注释放在哪里有关系吗? 以下两组代码是否相同?Java持久性问题
非常感谢!
@Entity
@Table(name="user", schema="billing")
public class User {
private long id ;
private String userName ;
private String password ;
@Id
@GeneratedValue
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Column(name="password", length=20)
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Column(name="user_name",length=15)
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
对比:
@Entity
@Table(name="user", schema="billing")
public class User {
@Id
@GeneratedValue
private long id ;
@Column(name="user_name",length=15)
private String userName ;
@Column(name="password", length=20)
private String password ;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
答
好看多了,是的。 JPA实现将查看您的注释以查看您喜欢哪种风格,并使用它。
我知道,Hibernate会查看@Id
注释的位置(在字段或方法上),并将该样式用于其余注释。我想其他JPA实现可以做类似的事情,如果不相同的话。
可能重复[Hibernate/JPA - 注释bean方法vs字段](http://stackoverflow.com/questions/942035/hibernate-jpa-annotating-bean-methods-vs-田) – 2010-06-07 20:38:39