Java持久性问题

时间:2010-06-07 20:13:52

标签: java hibernate persistence

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

}

3 个答案:

答案 0 :(得分:1)

差不多,是的。 JPA实现将查看您的注释,以查看您喜欢哪种样式,并使用它。

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

答案 1 :(得分:0)

检查这个类似的问题: -

Hibernate/JPA - annotating bean methods vs fields

答案 2 :(得分:0)

我强烈建议您查看不需要任何注释或XML配置的JPersist(http://www.jpersist.com/)。比你那里的怪异要容易得多