使用JPQL从Sequence返回值

时间:2014-05-15 12:33:24

标签: java persistence jpql

我正在尝试在Oracle数据库中使用SQL中的Sequence来在运行查询之前检索ID。但由于某种原因,它永远不会为我返回一个我可以使用的整数。只是null。

在我决定使用这种Netbeans Persistency方法执行应用程序之前,SQL查询已经过测试。

    Query idRes = manager
            .createNativeQuery("SELECT seq_bug.nextval from dual");
    manager.getTransaction().begin();
    idRes.executeUpdate();
    manager.getTransaction().commit();
    int id = (Integer) idRes.getParameterValue(0);

    Query q = manager.
            createNativeQuery(
                    "INSERT INTO REPORTEDBUG"
                            + "VALUES(?,?,?,?,?,?,?,?,?)");
    manager.getTransaction().begin();
    q.setParameter(1, id);
    q.setParameter(2, author);
    q.setParameter(3, bugtype);
    q.setParameter(4, component);
    q.setParameter(5, sysversion);
    q.setParameter(6, priority);
    q.setParameter(7, assignedto);
    q.setParameter(8, status);
    q.setParameter(9, desc);
    q.executeUpdate();
    manager.getTransaction().commit();

我想我只是把int id = (Integer) idRes.getParameterValue(0);错了,但我无法弄清楚它还能是什么。

0 个答案:

没有答案