我正在尝试检查序列的下一个val。
以下是方法:
public Long getCodeCommercialOffer(final String seq) {
final Session session = (Session) getEntityManager().getDelegate();
Query q= (Query) session.createQuery("SELECT " + seq + ".nextval FROM dual");
return (Long) q.getSingleResult();
}
为什么返回始终为null?
答案 0 :(得分:1)
我不确定你作为seq名称传递的是什么值。您可能需要将模式名称附加到序列的前面(例如:mySchema.sequenceName)。我建议您打印出您尝试运行的SQL语句,在数据库查询工具中单独运行该语句(例如:TOAD),调整SQL以使其正常工作,然后将其放回代码中。
答案 1 :(得分:0)
感谢您的回答,最后我找到了解决方案。
问题是演员表,我用BigDecimal代替Long