La clase donde gestiono las operaciones con la base de datos se llama com.dao.UserDAOImpl. Ahí pongo lo siguiente:
Código:
... SessionFactory sessionFactory; ... public void saveUser(User user) { sessionFactory.getCurrentSession().save(user); }
tambien he probado a hacer:
Código:
Incluso:session = sessionFactory.openSession(); session.save();
Código:
el xml en el que declaro los beans:Transaction transaction = null; transaction = session.beginTransaction(); session.save(user); transaction.commit();
Código:
Y me da el error al tratar de guardar un usurio:... <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/miproyecto"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="myDataSource" /> <property name="annotatedClasses"> <list> <value>com.domain.User</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> </props> </property> </bean> <bean id="myUserDAO" class="com.dao.UserDAOImpl"> <property name="sessionFactory" ref="mySessionFactory"/> </bean> <bean id="userController" class="com.web.UserController"> <property name="userDAO" ref="myUserDAO"/> </bean> ...
Código:
Con HibernateTemplate si me deja guardarlo, ¿que hago para que me deje usar session?org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
Bien eso por una parte, otra cosa, utilizando Hibernate, ¿de que me tengo que preocupar? Quiero decir, por ejemplo, ¿tengo que preocuparme de cerrar conexiones con la base de datos?
¿tengo que preocuparme de tratar los errores que pueda lanzar la base de datos? No se si todo eso te lo maneja el framework o lo tienes que manejar tu, de momento los errores como por ejemplo cuando la base de datos no esta disponible o cuando violo la integridad de ésta me salta una página fea de error que no debería salir lógicamente, por lo que veo los errores si son necesario tratarlos, ¿estoy en lo cierto?
Espero que me podais aclarar un poco esto,
Gracias,
Un saludo