Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Caused by: <openjpa-2.4.0-r422266:1674604 fatal general error> org.apache.openjpa.persistence.PersistenceException: Exhausted Resultset
- @PersistenceContext
- protected EntityManager em;
- @Override
- @TransactionalRollback
- public void updateContractor(Coupons coupon) {
- cacheWorker(() -> {
- em.merge(coupon);
- return null;
- }, coupon, new String[]{String.valueOf(coupon.getId().getContractorId()), coupon.getId().getCouponId()});
- }
- public <T> T cacheWorker(Supplier<T> supplier, Object object, String[] keyLine) {
- if (useCache) {
- String key = ParseUtils.collectToKeyWithDot(CACHE_DAO_PREFIX + keyLine);
- T value = select(key);
- if (object == null && value == null) {//For first Select
- value = supplier.get();
- addCache(key, value);
- } else if (object == null && value != null) { //For every repeated Select
- return value;
- } else if (object.equals(value) && value != null) {// For INSERT/UPDATE, and DELETE (which doesn't handle here)
- return value;
- } else if (!object.equals(value) && value != null) {// For UPDATE, and DELETE (which doesn't handle here)
- update(supplier, object, key);
- value = getCache(key);
- } else if (!object.equals(value) && value == null) {//For INSERT, and DELETE (which doesn't handle here)
- insert(supplier, object, key);
- value = getCache(key);
- }
- return value;
- } else {
- return supplier.get();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement