Bonjour,

Dans une application web, je souhaite enregistrer dans une base JDB un certain nombre d'enregistrements.
Je n'arrive à insérer dans ma table !
MERCI pour votre aide !

J'ai l'erreur suivante qui porte sur l'id généré par une séquence (j'ai à peu prêt tout essayer mais rien ne marche !) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Exception Description: Syntax error parsing [Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)]. 
[0, 96] The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155)
	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:334)
	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278)
	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86)
	at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1614)
Voici mon code :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
@Entity
@Table(name = "Parametre")
public class Parametre implements Serializable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "Parametre_Id_Table")
    @TableGenerator(name="Parametre_Id_Table", table="Parametre_Id_Table", allocationSize = 1, initialValue = 1)
    private int id;
 
    private String utilisateur;
 
    private String nom;
 
    private String valeur1;
 
    private String valeur2;
 
    private String valeur3;
 
    private String valeur4;
 
    private String valeur5;
 
    public Parametre() {
    }
 
    public Parametre(int i, String u, String n, String v1, String v2, String v3, String v4, String v5) {
 
        id = i;
        utilisateur = u;
        nom = n;
        valeur1 = v1;
        valeur2 = v2;
        valeur3 = v3;
        valeur4 = v4;
        valeur5 = v5;
 
    }
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
22
23
24
25
26
27
28
29
 
@Stateless
public class ParametreFacade extends AbstractFacade<Parametre> {
 
    @PersistenceContext(unitName = "WebJODPU")
    private EntityManager em;
 
    @Override
    protected EntityManager getEntityManager() {
        return em;
    }
 
    public ParametreFacade() {
        super(Parametre.class);
    }
...
...
    public void creerParametre(Parametre parametre) {
 
        Query jQuery = em.createQuery("Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)");
 
        jQuery.setParameter("utilisateur", parametre.getUtilisateur());
        jQuery.setParameter("nom", parametre.getNom());
        jQuery.setParameter("valeur1", parametre.getValeur1());
        jQuery.setParameter("valeur2", parametre.getValeur2());
        jQuery.setParameter("valeur3", parametre.getValeur3());
        jQuery.setParameter("valeur4", parametre.getValeur4());
        jQuery.setParameter("valeur5", parametre.getValeur5());
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
...
...
Parametre parametre = new Parametre(0, "System", "TableauBordPanel" + j, "0", "0", "0", "false", "0");
 
getParametreFacade().creerParametre(parametre);