Bonjour,

Je développe une application et j'utilise hibernate3 sur Netbeans.

J ai un petit problème de avec l une des mes classes générée.

voici l erreur :
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
 
run:
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
Jul 16, 2010 9:33:33 AM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : testhibernate/database/Application.hbm.xml
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: testhibernate.database.Application -> application
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : testhibernate/database/Table1.hbm.xml
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: testhibernate.database.Table1 -> table1
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : testhibernate/database/Table2.hbm.xml
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: testhibernate.database.Table2 -> table2
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
Jul 16, 2010 9:33:34 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
Jul 16, 2010 9:33:34 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
Jul 16, 2010 9:33:34 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
Jul 16, 2010 9:33:34 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://10.123.3.34/test
Jul 16, 2010 9:33:34 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=test, password=****}
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 5.0.51a-24+lenny4
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )
Jul 16, 2010 9:33:34 AM org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
Jul 16, 2010 9:33:34 AM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
Jul 16, 2010 9:33:34 AM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
Jul 16, 2010 9:33:34 AM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
Jul 16, 2010 9:33:34 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
Jul 16, 2010 9:33:34 AM org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
Jul 16, 2010 9:33:34 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Jul 16, 2010 9:33:34 AM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 1064, SQLState: 42000
Jul 16, 2010 9:33:34 AM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'release, refid) values (null, null, 3366)' at line 1
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [testhibernate.database.Application]
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
        at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
        at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
        at testhibernate.Main.main(Main.java:32)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'release, refid) values (null, null, 3366)' at line 1
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.Util.getInstance(Util.java:381)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922)
        at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
        at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
        ... 16 more
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Or je seche completement sur la resolution de celle-ci.
voici les fichiers de configurations et sources.

hibernate.cfg.xml
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
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://10.123.3.34/test</property>
    <property name="hibernate.connection.username">test</property>
    <property name="hibernate.connection.password">test</property>
    <mapping resource="testhibernate/database/Application.hbm.xml"/>
    <mapping resource="testhibernate/database/Table1.hbm.xml"/>
    <mapping resource="testhibernate/database/Table2.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
Application.hbm.xml
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
 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jul 15, 2010 4:11:28 PM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
    <class name="testhibernate.database.Application" table="application" catalog="test">
        <id name="applicationid" type="java.lang.Integer">
            <column name="applicationid" />
            <generator class="identity" />
        </id>
        <property name="applicationName" type="string">
            <column name="applicationName" />
        </property>
        <property name="release" type="string">
            <column name="release" />
        </property>
        <property name="refid" type="int">
            <column name="refid" not-null="true" />
        </property>
    </class>
</hibernate-mapping>
et Application.java
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
 
package testhibernate.database;
// Generated Jul 15, 2010 4:11:27 PM by Hibernate Tools 3.2.1.GA
 
 
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
 
/**
 * Application generated by hbm2java
 */
@Entity
@Table(name="application"
    ,catalog="test"
)
public class Application  implements java.io.Serializable {
 
 
     private Integer applicationid;
     private String applicationName;
     private String release;
     private int refid;
 
    public Application() {
    }
 
 
    public Application(int refid) {
        this.refid = refid;
    }
    public Application(String applicationName, String release, int refid) {
       this.applicationName = applicationName;
       this.release = release;
       this.refid = refid;
    }
 
     @Id @GeneratedValue(strategy=IDENTITY)
 
    @Column(name="applicationid", unique=true, nullable=false)
    public Integer getApplicationid() {
        return this.applicationid;
    }
 
    public void setApplicationid(Integer applicationid) {
        this.applicationid = applicationid;
    }
 
    @Column(name="applicationName")
    public String getApplicationName() {
        return this.applicationName;
    }
 
    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }
 
    @Column(name="release")
    public String getRelease() {
        return this.release;
    }
 
    public void setRelease(String release) {
        this.release = release;
    }
 
    @Column(name="refid", nullable=false)
    public int getRefid() {
        return this.refid;
    }
 
    public void setRefid(int refid) {
        this.refid = refid;
    }
 
 
 
 
}
Et le code execute, Main.java
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
 
package testhibernate;
 
import org.hibernate.Session;
import org.hibernate.Transaction;
import testhibernate.database.Application;
import testhibernate.database.HibernateUtil;
import testhibernate.database.Table1;
 
/**
 *
 * @author asly
 */
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Session session = HibernateUtil.currentSession();
        Transaction transaction = session.beginTransaction();
 
        Table1 test2 = new Table1();
        Table1 test1 = new Table1("test", 15);
        session.save(test1);
        session.save(test2);
        Application app = new Application(3366);
        session.save(app);
 
        transaction.commit();
        HibernateUtil.closeSession();
    }
 
}
Merci d avance pour votre aide.