EclipseLink a généré une instruction create table comme ceci:EclipseLink + JPA génère colonne ID inattendue
Create Table myTable (ID (255) not null, col1 (255), col2(255), col3(255) PK (ID, col1, col2)
@Embeddable
MyPK implements Serializable
{
@OneToOne
@Id
String col1;
@OneToOne
@Id
String col2;
...
}
@Entity
MyClass implements Serializable
{
@EmbeddedId
MyPK pk;
String col1;
String col2;
String col3;
...
}
Comment puis-je éviter la génération de la colonne ID
dans la déclaration Create Table
? Je demande parce que em.persist(MyClass)
lève une exception de contrainte sur ID
étant nulle. Je m'attendais à ce que le @EmbeddedId
remplace cela et empêche la création de ce champ.
EDIT
Le tableau que je suis en train de générer dans le code ressemble à ceci:
fk - col1
fk - col2
VarChar - col3
'Chaînes' clés étrangères? –
@Matt oui, en effet mon ami. – user123435234234234