Bonjour,

Je développe une couche de persistance qui contient mes entités persistantes avec la base de données.

La valeur de la propriété name de @Column de tous les attributs est ignorée lorsqu'un attribut de type @Embedded (Clé composée) est présent,

Je vous donne un exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
public class Lien implements Serializable {
 
	private String statut;
 
	@EmbeddedId
	@AttributeOverrides({
	    @AttributeOverride(name="codeOffre",column=@Column(name="I2L_COD_OFFRE")),
	    @AttributeOverride(name="codeComposant",column=@Column(name="I2L_COD_COMPOSANT"))
	})
	private Lien_PK pk;
 
        @Column(name = "I2L_STATUT", length = 1)
	/**
         * @return the statut
         */
	public String getStatut() {
		return statut;
	}
 
        // constructeurs, setters & getters ...
Le résultat est que statut est crée dans la base de données avec son nom "statut" et pas "I2L_STATUT".

Et lorsque j'enlève la clé composée, l'attribut "statut" est crée dans la base de données sous le nom "I2L_STATUT".

Merci pour vos renseignements