Bonjour tout le monde,
Je suis sur un JBOSS 3.2.8 avec une base postgres 8.1.5
Je n arrive pas à créer mon EJB entity car j ai une erreur SQL.
J ai l impression d'avoir tout bien configuré mais j ai tjs cette foutu erreur. J ai bien mis le fichier postgres-ds.xml avec les bons drivers. Jai regardé ds la console XML si mes EJB etaient bien déployés.
Il faut savoir que lorsque je déplois l'EAR sur une version 3.2.5 avec un postgres 7.4.8 ca marche ...
J ai l impression qu il me met un '?' au lieu de me mettre un boolean ...
Voici les traces :
Voici mon EJB-JAR.XML :2007-01-23 12:40:50,331 INFO [com.ejb.DocMgrSessionBean] Identifiant du selector id=1379
2007-01-23 12:40:50,343 ERROR [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.FileReference] Could not create entity
org.postgresql.util.PSQLException: ERROR: column "completed" is of type boolean but expression is of type character
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
...
Code xml : 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 <entity id="FileReference"> <ejb-name>FileReference</ejb-name> <local-home>com.ejb.FileReferenceLocalHome</local-home> <local>com.ejb.FileReferenceLocal</local> <ejb-class>com.ejb.FileReferenceBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>com.ejb.FileReferenceKey</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>FileReference</abstract-schema-name> <cmp-field> <field-name>id</field-name> </cmp-field> <cmp-field> <field-name>filename</field-name> </cmp-field> <cmp-field> <field-name>creation</field-name> </cmp-field> <cmp-field> <field-name>completed</field-name> </cmp-field> <cmp-field> <field-name>dateCompleted</field-name> </cmp-field> <cmp-field> <field-name>downloaded</field-name> </cmp-field> <cmp-field> <field-name>dateDownloaded</field-name> </cmp-field> <cmp-field> <field-name>onDisk</field-name> </cmp-field> <cmp-field> <field-name>fileSize</field-name> </cmp-field> <cmp-field> <field-name>description</field-name> </cmp-field> <ejb-local-ref id="EJBLocalRef_1103637284796"> <ejb-ref-name>ejb/Application</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>com.ejb.ApplicationLocalHome</local-home> <local>com.ejb.ApplicationLocal</local> <ejb-link>Application</ejb-link> </ejb-local-ref> <query> <description></description> <query-method> <method-name>findAll</method-name> <method-params> </method-params> </query-method> <ejb-ql>select object(o) from FileReference o</ejb-ql> </query> </entity> <relationships> <ejb-relation> <description></description> <ejb-relation-name>Application-FileReference</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>filereference</ejb-relationship-role-name> <multiplicity>One</multiplicity> <relationship-role-source> <ejb-name>Application</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>filereference</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>application</ejb-relationship-role-name> <multiplicity>Many</multiplicity> <relationship-role-source> <ejb-name>FileReference</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>application</cmr-field-name> </cmr-field> </ejb-relationship-role> </ejb-relation> </relationships>
Voici le morceau de code ou ca plante :
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 id = findNextID("FileReference"); log.info("Identifiant du selector id="+id); FileReferenceKey key = new FileReferenceKey(id); try { fileRef = ((FileReferenceLocalHome) ctx.lookup("local/FileReference")).create(id); } catch(CreateException e) { log.error("CreateException : "+ e.getMessage()); } catch(NamingException na) { log.error("NamingException : "+ na.getMessage()); }
Partager