java - OpenShift 云中的 NullPointerException

标签 java mysql hibernate

这是我的java代码:

response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
Gson gson = new Gson();

Session session = null;
Transaction tx = null;
try {
    session = HibernateUtil.getSessionFactory().openSession();
    tx = session.beginTransaction();
    List currencies = session.createQuery("from Currency").list();
    response.getWriter().write(gson.toJson(currencies));
    tx.commit();
} catch (HibernateException e) {
    if (tx != null) tx.rollback();
} finally {
    session.close();
}

当我在我的计算机上运行此代码时,我没有收到任何错误。但是当我在 OpenShift 云中运行它时,我收到 NullPointerException。 session.close() 行出现异常;

我在 OpenShift 中的盒式磁带是 Tomcat 7 (JBoss EWS 2.0)、MySQL 5.5、phpMyAdmin 4.0。

hibernate.cfg.xml

<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://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/program </property>
<property name="hibernate.connection.username">login</property>
<property name="hibernate.connection.password">passwd</property>
<property name="show_sql">true</property>
<mapping resource="com.gmail.user.persistence/Currency.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

我需要如何修复它的建议。

谢谢

最佳答案

从“finally” block 中删除“session.close();”。因为 session 已经关闭,所以当编译器尝试运行finally block 时出现空指针异常,

关于java - OpenShift 云中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867429/

相关文章:

java - 将 Hibernate Validator 与 GWT 结合使用时如何国际化错误消息?

java - Hibernate 继承 - 没有用 Id 注释的字段

Java Android,解码AES-256时出错

java - 解决 project euler 问题 #41 的技巧

php - MySQL 如何使用 php 存储多个变量(字符串和/或 int)?

MySQL 触发器语法错误

java - JPA hibernate 持久化pb

java - GridBagLayout 不满足椭圆形形状请求

像 C++ map 这样的 Java 容器

mysql - 向 Node 表达mysql同步问题的多个请求