我正在尝试在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);
错了,但我无法弄清楚它还能是什么。