Bonjour à tous,
- Je vous présente le Sujet de ce topic :
J'utilise Hibernate 3.2.6 pour mapper ma base de mysql 5, via flexbuilder 3. Le mapping ce passe correctement me créant mes *.hbm (malgré toute fois des souci de "generator" etc).
S'en suis le désir de créer mes classes de persistances (si je ne me trompe de vocabulaire). C'est à dire créer ma classe java image de ma table en mysql via le mapping fait précédemment.
- Pour ce faite j'utilise l'automatisation de l'outil "hibernate synchronizer."
Mon fichier .hbm =>hibernate sycnronizer => synchronize files.
J'obtiens mes classes en java (maclasse.java, _BaseRootDao, Basemaclasse.java, BasemaclasseDao.java,_ rootDao.java, maclasseDao.java)
Le problème intervient dans les fichiers _BaserootDAO.java et basemaclasseDAO.java, la génération me fournit des "imports" sous forme "net.sh.hibernate.etc.."
Ceci était valable pour hibernate 2.0, hors j'utilise hibernate 3.2.6, les import étant "org.hibernate.etc*" , générant donc des erreur d'import non résolvable.
C'est donc assez ennuyant de générer un code qu'on doit modifier pour non conformité:
voici mes jars :
antlr-2.7.6.jar
asm-attrs.jar
asm.jar
backport-util-concurrent.jar
c3p0-0.9.1.jar
cfgatewayadapter.jar
cglib-2.1.3.jar
commons-codec-1.3.jar
commons-collections-2.1.1.jar
commons-httpclient-3.0.1.jar
commons-logging-1.0.4.jar
concurrent-1.3.2.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
ejb3-persistence.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
hibernate-annotations.jar
hibernate-commons-annotations.
hibernate-entitymanager.jar
hibernate-testing.jar
hibernate3.jar
javassist.jar
jta.jar
log4j-1.2.11.jar
maven-ant-tasks.jar
mysql-connector-java-3.1.12-bi
mysql-connector-java-5.1.7-bin
slf4j-api-1.5.8.jar
slf4j-log4j12.jar
xalan.jar
Je l'ais mets, pensant mon problème venir de là, ayant pourtant fait attention :s. (oui il y a deux jar mysql et slf4 mais ce n'est pas le souci)
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
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 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <div style="margin-left:40px"><session-factory></div> <!-- local connection properties --> <property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/matable </property> <property name="hibernate.connection.driver_class"> org.gjt.mm.mysql.Driver </property> <property name="hibernate.connection.username">monnom</property> <property name="hibernate.connection.password">monpasse</property> <!-- property name="hibernate.connection.pool_size"></property --> <!-- dialect for MySQL --> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="hibernate.show_sql">false</property> <property name="hibernate.use_outer_join">true</property> <!-- <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> <property name="jta.UserTransaction">java:comp/UserTransaction</property> //--> <property name="hibernate.transaction.factory_class"> org.hibernate.transaction.JDBCTransactionFactory </property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class"> org.hibernate.cache.NoCacheProvider </property> <mapping resource="MapHbm/maclasse.hbm" /> <div style="margin-left:40px"></session-factory></div></hibernate-configuration>
Ma connexion à la base se fait bien, j'en retire des données (qui me parait assez lourde déjà à exécuté de plus alors que ce n'est que le début -_-)
L'autre problème et la génération dans ces classes aussi du type "Session" qui dans la version 3.* est substitué par l'interface org.hibernate.classic.session et que je dois donc modifier aussi grrr.
Avez vous une idée pour empêcher la génération de ces d'eux erreur ?
Partager