Java - Problema con Hibernate

 
Vista:
sin imagen de perfil

Problema con Hibernate

Publicado por Fernando (7 intervenciones) el 30/08/2014 17:31:59
Hola gente,
necesito ayuda, con un problema que estoy teniendo. Revise varias veces el codigo y no encuentro la causa del error,
aparentemente el mapeo esta bien y en realidad es bastante simple, pero tal vez se me esta pasando por alto algun paso, agradeceria que alguien con mas experiencia me señalara la causa del error.
Al ejecutar el proyecto con netbeans, me arroja lo siguiente:

Exception in thread "main" java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer

La linea que causa el error es la siguiente: " tx.commit();"

El codigo de la clase principal es:

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
import org.hibernate.*;
import org.hibernate.cfg.*;
 
public class Main {
 
    public static void main(String[] args) {
 
        // Set up database tables and test data
        HibernateUtil.droptable("drop table Product");
        HibernateUtil.setup("create table Product ( id int, version int, name VARCHAR(30), description VARCHAR(30))");
 
 
         // Create SessionFactory and Session object
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
 
 
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
 
            Product product1 = new Product();
            product1.setName("ProductNameOld1");
            product1.setDescription("Description for Product 1");
            session.save(product1);
            tx.commit();
            ............................................

El archivo hibernate.cfg.xml contiene:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
        <property name="connection.url">jdbc:derby://localhost:1527/mydatabase</property>
        <property name="connection.username">app</property>
        <property name="connection.password">app</property>
 
        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>
 
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
 
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">false</property>
 
        <!-- Mapping files -->
        <mapping resource="Product.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Y el mapeo de la clase product.hbm.xml es:

1
2
3
4
5
6
7
8
9
10
11
12
13
<hibernate-mapping>
 
    <class name="Product" table="product" optimistic-lock = "version">
        <id name="id" type="int">
            <generator class="increment"/>
        </id>
 
        <version name="version" column="version" type="int"/>
        <property name="name" type="string"/>
        <property name="description" type="string"/>
    </class>
 
</hibernate-mapping>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Problema con Hibernate

Publicado por Pedro (81 intervenciones) el 31/08/2014 20:01:21
Prueba a agregar la columna a la que corresponde

<id name="id" column="id" type="int">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema con Hibernate

Publicado por Fernando (7 intervenciones) el 02/09/2014 00:29:54
Gracias Pedro!

encontre la solucion, en la clase habia colocado lo siguiente:

public double getVersion() {
return version;
}

y es :

public int getVersion() {
return version;
}

Gracias de nuevo y disculpa mi ignorancia!
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema con Hibernate

Publicado por Pedro (81 intervenciones) el 02/09/2014 17:35:57
Esos fallos nos pasa a todos

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar