Jpa 实体管理器删除功能运行缓慢

Jpa 实体管理器删除功能运行缓慢,jpa,entitymanager,Jpa,Entitymanager,我正在尝试使用EntityManager.remove功能从数据库中删除记录,效果良好。但删除需要时间。我必须多次单击按钮才能使其工作,有时我会等待一段时间,然后单击“删除”,它可能会工作。 下面是我的代码 @Override public void delete(int divID) { IncentiveEntity a = em.find(IncentiveEntity.class, new Integer(divID)); em.remo

我正在尝试使用
EntityManager.remove
功能从数据库中删除记录,效果良好。但删除需要时间。我必须多次单击按钮才能使其工作,有时我会等待一段时间,然后单击“删除”,它可能会工作。 下面是我的代码

@Override
    public void delete(int divID) {

        IncentiveEntity a = em.find(IncentiveEntity.class, new Integer(divID));
            em.remove(a);
       em.flush();      

    }

您的代码做两件事:首先加载实体(这可能会导致延迟),然后删除它。作为第一步,我建议您使用
IncentiveEntity a=entityManager.getReference(divId)
,然后
删除它。这样,就可以避免数据库获取。如果性能问题仍然存在,请包括实体的实体类和/或DB架构(包括外键和索引)。@Cascader感谢您的回答,但使用此查询行它现在甚至不会删除它。您的代码执行两项操作:首先加载实体(这可能会导致延迟),然后删除它。作为第一步,我建议您使用
IncentiveEntity a=entityManager.getReference(divId)
,然后
删除它。这样,就可以避免数据库获取。如果性能问题仍然存在,请包括实体的实体类和/或DB架构(包括外键和索引)。@Cascader感谢您的回答,但使用此查询行,它现在甚至不会删除它