2010-06-07 5 views
1

Salut, je suis nouveau dans la persistance Java. Est-ce que l'endroit où je mets les annotations est important? Les deux ensembles de code suivants sont-ils identiques?Persévérance Java Question

Merci beaucoup!

@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; 
} 

}

Comparez à:

@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

duplication possible de [Hibernate/JPA - méthodes de bean annotating vs champs] (http://stackoverflow.com/questions/942035/hibernate-jpa-annotating-bean-methods-vs- des champs) –

Répondre

1

Quasiment, oui. L'implémentation JPA examinera vos annotations pour voir quel style vous préférez, et travaillera avec cela. Hibernate, je sais, cherche à voir où se trouve l'annotation @Id (sur le terrain ou sur la méthode), et utilise ce style pour le reste des annotations. J'imagine que d'autres implémentations JPA font quelque chose de similaire, sinon la même chose.

0

Je voudrais bien vous recommandons fortement de jeter un oeil à JPersist (http://www.jpersist.com/) où vous ne avez pas besoin d'annotations ou de configuration XML. Beaucoup plus facile que l'étrangeté que vous avez là