在批量插入中使用本机sql

时间:2014-12-31 00:23:20

标签: mysql sql hibernate jpa

我使用JPA和Hibernate作为提供程序因此,考虑下面的代码我使用本机sql插入10000记录,我构造了一个要插入的值的字符串。所以我的问题是:

  1. 这是一个很好的实施方式吗?

  2. 我会得到一些内存异常吗?

  3. 我可以直接从选择中插入值吗?因为循环哪个 构造我的值字符串需要一些时间。

  4. 有最好的选择吗?

  5. 我的approche:

    @Transactional  
    public void update_notification(...){
    
      List<AppelOffre> aos_new = find_ao_with_alerte(choixalerte , contact);
    
      String values ="";
    
      int size = aos_new.size() , i = 1;
      for(AppelOffre ao : aos_new){
    
        values += "(" + ao.getIdAppelOffre() + " , " + contact.getIdConatct() + ")" ;
        if( (i++) != size )
            values += " , " ;
    
      }
    
      entityManager.createNativeQuery(" insert into ao_notif (ID_APPEL_OFFRE,ID_CONATCT) 
                                      values " + values )
                 .executeUpdate();
    

0 个答案:

没有答案