Bonjour,
Je suis en train de coder une petite application avec GWT + GAE/J.
Je teste les dernières nouveautés de la version 2.1 de GWT, mais j'ai quelques soucis avec le RequestFactory.
J'ai 2 classes modèles qui sont en relation :
La classe Compte :
La classe Opération :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 @PersistenceCapable public class Compte implements Serializable{ @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String numero; @Persistent private Float solde; @Persistent(mappedBy="compte") private List<Operation> operations; /** Getters et setters ici **/ public Compte(){} }
Mais lorsque je persiste un objet "Compte", j'obtiens l'erreur suivante :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @PersistenceCapable public class Operation implements Serializable{ @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String libelle; @Persistent private Float montant; etc...
J'ai donc pensé à utiliser le type Key au lieu de Long pour les "clefs primaires", mais en faisant cela, je ne peux plus utiliser RequestFactory, car lui ne peut se calquer que sur les types String ou Long, ou alors j'ai loupé une étape ?Code:
1
2 java.lang.RuntimeException: Server Error: Error in meta-data for com.testgwt.server.model.Operation.id: Cannot have a java.lang.Long primary key and be a child object (owning field is com.testgwt.server.model.Compte.operations).
Voici le contenu de ma classe CompteProxy :
Quelqu'un pourrait-il me guider svp ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 @ProxyFor(Compte.class) public interface CompteProxy extends EntityProxy{ Long getId(); String getNumero(); void setNumero(String numero); Float getSolde(); void setSolde(Float solde); List<OperationProxy> getOperations(); void setOperations(List<OperationProxy> operations); }