Java JPA:Performant检查实体是否已在DB中

ree*_*een 6 java entity jpa

使用JPA检查实体是否已在数据库中的最佳方法/最佳实践是什么?

我正在编写一个将主机信息添加到数据库的客户端.例如附加的存储容器,hba等......

如果我想为主机添加Lun,我必须检查lun是否已经在数据库中.(Lun可以附加到另一个主机).

我看到2个可能性:

  1. 我为Lun做了一个选择,检查它是否已经在数据库中
  2. 尝试插入Lun并检查异常(唯一约束)

有人有经验吗?

BR,Rene

Boz*_*zho 7

entityManager.find(SomeEntity.class, id)
Run Code Online (Sandbox Code Playgroud)

返回:找到的实体实例,如果实体不存在,则返回null

这将在DB中进行简单的选择.只需确保您的收藏品(如果有的话)是懒惰的.