repository
Fri Nov 03 2023 03:46:30 GMT+0000 (Coordinated Universal Time)
Saved by @namnt
package viettel.cyberbot.demoMysql.Repository.Imp; import org.springframework.stereotype.Repository; import viettel.cyberbot.demoMysql.Entity.Product; import viettel.cyberbot.demoMysql.Entity.ViettelCyberSpace; import viettel.cyberbot.demoMysql.Entity.ViettelCyberSpaceDetails; import viettel.cyberbot.demoMysql.Repository.ViettelCyberSpaceRepository; import javax.persistence.*; import javax.persistence.criteria.*; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @Repository public class ViettelCyberSpaceRepositoryImp implements ViettelCyberSpaceRepository { @PersistenceContext EntityManager entityManager; @Override public Object[] getDataByCriteriaQuery(int id) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Object[]> query = criteriaBuilder.createQuery(Object[].class); Root<Product> productTable = query.from(Product.class); Root<ViettelCyberSpace> vtccTable = query.from(ViettelCyberSpace.class); Predicate condition = criteriaBuilder.equal(productTable.get("productId"), id); //table product chỉ lấy column name và table product vtcc chỉ lấy column department query.multiselect(productTable.get("productName"), vtccTable.get("departmentName")) .where(criteriaBuilder.equal(productTable.get("departmentId"), vtccTable.get("departmentId"))).where(condition); return entityManager.createQuery(query).getResultList().get(0); } @Override public List<Object> getDataByCriteriaQueryOneToOne() { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Object> query = criteriaBuilder.createQuery(Object.class); Root<ViettelCyberSpaceDetails> vtccDetails = query.from(ViettelCyberSpaceDetails.class); Root<ViettelCyberSpace> vtccTable = query.from(ViettelCyberSpace.class); query.multiselect(vtccDetails, vtccTable) .where(criteriaBuilder.equal(vtccDetails.get("departmentDetailId"), vtccTable.get("departmentId"))); List<Object> list=entityManager.createQuery(query).getResultList(); System.out.println(list.get(1)); return entityManager.createQuery(query).getResultList(); } }
Comments