
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:
El archivo hibernate.cfg.xml contiene:
Y el mapeo de la clase product.hbm.xml es:
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


0