2010-06-07 118 views
1

嗨我是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; 
} 

}

+1

可能重复[Hibernate/JPA - 注释bean方法vs字段](http://stackoverflow.com/questions/942035/hibernate-jpa-annotating-bean-methods-vs-田) – 2010-06-07 20:38:39

回答

1

好看多了,是的。 JPA实现将查看您的注释以查看您喜欢哪种风格,并使用它。

我知道,Hibernate会查看@Id注释的位置(在字段或方法上),并将该样式用于其余注释。我想其他JPA实现可以做类似的事情,如果不相同的话。

0

我虽然会强烈建议考虑看看JPersist(http://www.jpersist.com/),你不需要任何注释或XML配置。更容易,然后你有那么奇怪