bonsoir, je bute sur un problème avec un entity bean, lorsque je fais des requêtes, le serveur me sort une erreur pourtant je ne vois pas ce qui ne va pas.
En gros une table user(nuser number, nom varchar, pass varchar) est mappé avec un bean entité User
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101 package entityPackage; import java.io.Serializable; import java.math.BigDecimal; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; @Entity @Table(name = "user") @NamedQueries( { @NamedQuery(name = "User.findByNuser", query = "SELECT u FROM User u WHERE u.nuser = :nuser"), @NamedQuery(name = "User.findByNom", query = "SELECT u FROM User u WHERE u.nom = :nom"), @NamedQuery(name = "User.findByPass", query = "SELECT u FROM User u WHERE u.pass = :pass") }) public class User implements Serializable { @Id @Column(name = "nuser", nullable = false) private BigDecimal nuser; @Column(name = "nom", nullable = false) private String nom; @Column(name = "pass", nullable = false) private String pass; /** Creates a new instance of User */ public User() { } public User(BigDecimal nuser) { this.nuser = nuser; } public User(BigDecimal nuser, String nom, String pass) { this.nuser = nuser; this.nom = nom; this.pass = pass; } public BigDecimal getNuser() { return this.nuser; } public void setNuser(BigDecimal nuser) { this.nuser = nuser; } public String getNom() { return this.nom; } public void setNom(String nom) { this.nom = nom; } public String getPass() { return this.pass; } public void setPass(String pass) { this.pass = pass; } @Override public int hashCode() { int hash = 0; hash += (this.nuser != null ? this.nuser.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof User)) { return false; } User other = (User)object; if (this.nuser != other.nuser && (this.nuser == null || !this.nuser.equals(other.nuser))) return false; return true; } @Override public String toString() { return "entityPackage.User[nuser=" + nuser + "]"; } }Pourtant mon persistence.xml à l'air correct
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 @Stateless public class HelloSessionBean implements HelloSessionLocal { @PersistenceContext(unitName="monBean") private EntityManager em; /** Creates a new instance of HelloSessionBean */ public HelloSessionBean() { } public String getHello(){ return "hello"; } public String chercheUser() { Object results; Query q = em.createQuery("User.findByNom'").setParameter("nom","dam"); List<User> liste = q.getResultList(); return ""; } }
j'ai ce problème là et je sèche :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="monBean" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/MYSQLDAMLUDO</jta-data-source> <class>entityPackage.User</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> <property name="hibernate.show_sql" value="true"/> </properties> </persistence-unit> </persistence>
javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
$Proxy177.chercheUser(Unknown Source)
HitServlet.doGet(HitServlet.java:46)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Partager