Bonjour,
j'ai posté il y a peu sur dvp, je commence à me dire que ce site devient indispensable...
J'ai un souci, je pense, avec mon mapping.
Le hibernate.cfg.xml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="com.xxx.beans.Collab"/> <mapping class="com.xxx.beans.CollabDetailGene"/> <mapping class="com.xxx.beans.Service"/> <mapping class="com.xxx.beans.Societe"/> </session-factory> </hibernate-configuration>
Ma classe CollabDetailGene extends ma classe Collab
Je ne trouve pas d'exemples !
Je spécifie ça comment dans mon cfg.xml ?
Merci par avance.
Edit... Finalement je ne suis pas sur que mon problème vienne de la...
Je vais détailler un peu :
J'ai une requête qui me remplit une List de Collab :
Cette requete fonctionne bien, enfin, du moins jusqu'à ce que je crée ma classe CollabDetailGene, qui extends Collab, comme je le disais.
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 Criteria criteria = session.createCriteria(Collab.class) .createAlias("soc", "s") .createAlias("serv", "se") .setFetchMode("soc", FetchMode.JOIN); if(!"".equals(nom)) criteria.add(Restrictions.like("nom", "%" + nom + "%")); if(!"".equals(societe)) criteria.add(Restrictions.like("s.lbsoc", "%" + societe + "%")); if(!"".equals(service)) criteria.add(Restrictions.like("se.cserv", "%" + service + "%")); if(!"".equals(initof)) criteria.add(Restrictions.like("initof", "%" + initof + "%")); if(!"".equals(local)) criteria.add(Restrictions.like("local", "%" + local + "%")); if(!"".equals(tel)) criteria.add(Restrictions.like("teleph", "%" + tel + "%")); if(!"".equals(badge)) criteria.add(Restrictions.like("cbadacc", "%" + badge + "%")); if(!"".equals(monet)) criteria.add(Restrictions.like("profilmon", "%" + monet + "%")); collabs = criteria.addOrder(Order.desc("nom")).list();
Maintenant j'ai un plantage sur cette requête apparemment :
Alors que je n'ai fait que coder l'autre classe et quelques fonctions (qui n'exploitent pas Collab) !
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 GRAVE: "Servlet.service()" pour la servlet ControllerServlet a g�n�r� une exception org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.loader.Loader.doList(Loader.java:2231) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) at org.hibernate.loader.Loader.list(Loader.java:2120) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306) at com.xxx.dao.CollabDaoImpl.findCollabsBy(CollabDaoImpl.java:86) at com.xxx.service.ServiceAccesDaoImpl.findCollabsBy(ServiceAccesDaoImpl.java:43) at com.xxx.servlet.ControlServlet.doProcess(ControlServlet.java:133) at com.xxx.servlet.ControlServlet.doPost(ControlServlet.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'DTYPE' : nom de colonne incorrect. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) at org.hibernate.loader.Loader.getResultSet(Loader.java:1808) at org.hibernate.loader.Loader.doQuery(Loader.java:697) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.doList(Loader.java:2228) ... 23 more
De plus le plantage se fait avant même que je n'exploite la nouvelle classe, à un endroit ou cela ne plantait pas avant !
Et si je commente tout ce qui tourne autour de ma classe CollabDetailGene, ça remarche !
Pourquoi ça me plante à la tronche ?
Des idées ?
Merci par avance.
Partager