Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @PersistenceContext(unitName = "testing")
- EntityManager eM;
- Query querys = this.eM.createNativeQuery(insertQuery);
- for (String s : someList) {
- //setting parameters
- querys.executeUpdate();
- }
- @PersistenceContext
- private EntityManager entityManager;
- @Value("${hibernate.jdbc.batch_size}")
- private int batchSize;
- public <T extends MyClass> Collection<T> bulkSave(Collection<T> entities) {
- final List<T> savedEntities = new ArrayList<T>(entities.size());
- int i = 0;
- for (T t : entities) {
- savedEntities.add(persistOrMerge(t));
- i++;
- if (i % batchSize == 0) {
- // Flush a batch of inserts and release memory.
- entityManager.flush();
- entityManager.clear();
- }
- }
- return savedEntities;
- }
- private <T extends MyClass> T persistOrMerge(T t) {
- if (t.getId() == null) {
- entityManager.persist(t);
- return t;
- } else {
- return entityManager.merge(t);
- }
- }
Add Comment
Please, Sign In to add comment