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 !) :
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 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)
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);
Partager