JPA - Impossible d'enregistrer en base (Java EE / Netbeans)
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:
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:
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:
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:
1 2 3 4 5 6
|
...
...
Parametre parametre = new Parametre(0, "System", "TableauBordPanel" + j, "0", "0", "0", "false", "0");
getParametreFacade().creerParametre(parametre); |