Guest User

Untitled

a guest
Oct 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. @PersistenceContext(unitName = "testing")
  2. EntityManager eM;
  3.  
  4. Query querys = this.eM.createNativeQuery(insertQuery);
  5. for (String s : someList) {
  6. //setting parameters
  7. querys.executeUpdate();
  8. }
  9.  
  10. @PersistenceContext
  11. private EntityManager entityManager;
  12.  
  13. @Value("${hibernate.jdbc.batch_size}")
  14. private int batchSize;
  15.  
  16. public <T extends MyClass> Collection<T> bulkSave(Collection<T> entities) {
  17. final List<T> savedEntities = new ArrayList<T>(entities.size());
  18. int i = 0;
  19. for (T t : entities) {
  20. savedEntities.add(persistOrMerge(t));
  21. i++;
  22. if (i % batchSize == 0) {
  23. // Flush a batch of inserts and release memory.
  24. entityManager.flush();
  25. entityManager.clear();
  26. }
  27. }
  28. return savedEntities;
  29. }
  30.  
  31. private <T extends MyClass> T persistOrMerge(T t) {
  32. if (t.getId() == null) {
  33. entityManager.persist(t);
  34. return t;
  35. } else {
  36. return entityManager.merge(t);
  37. }
  38. }
Add Comment
Please, Sign In to add comment