我对JPA很新。我正在尝试从数据库中获取列的最后一个值。
@Column(name="psd_id")
private long psdId;
我需要从DB中获取此psdId,这是存储的最后一个值。我不能使用自动生成,因为这是场景。我需要获取值并将1添加到现有ID值。任何参考将不胜感激。我正在使用移动设备进行此堆栈,因此我也无法复制该代码段
答案 0 :(得分:-1)
据我所知,最好使用Hibernate,它是JPA的扩展版本。但以下案例对我来说很好。它可以帮助你,看看它。
CriteriaBuilder cb1 = entityManager.getCriteriaBuilder();
CriteriaQuery<YourClassName> cq1 = cb1.createQuery(YourClassName.class);
Root<YourClassName> root = cq1.from(YourClassName.class);
cq1.select(cb1.max(root.<Number>get("columnName")));
但是限制是您的列类型应该是数字类型(我的意思是 - Int,BigInt,像这样的十进制)。
我希望它可以帮助您获取id列的最大数量。您可以添加1到最大值并继续进行。