| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 1 | package de.ids_mannheim.korap.dao; |
| 2 | |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 3 | import java.util.List; |
| 4 | |
| 5 | import javax.persistence.EntityManager; |
| 6 | import javax.persistence.PersistenceContext; |
| 7 | import javax.persistence.Query; |
| 8 | import javax.persistence.criteria.CriteriaBuilder; |
| 9 | import javax.persistence.criteria.CriteriaQuery; |
| 10 | import javax.persistence.criteria.Root; |
| 11 | |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 12 | import org.springframework.stereotype.Repository; |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 13 | |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 14 | import de.ids_mannheim.korap.entity.Resource; |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 15 | import de.ids_mannheim.korap.entity.Resource_; |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 16 | |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 17 | /** |
| 18 | * ResourceDao manages SQL queries regarding resource info and layers. |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 19 | * |
| 20 | * @author margaretha |
| 21 | * |
| 22 | */ |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 23 | @Repository |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 24 | public class ResourceDao { |
| 25 | |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 26 | @PersistenceContext |
| 27 | private EntityManager entityManager; |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 28 | |
| margaretha | e353dfa | 2017-07-18 19:23:29 +0200 | [diff] [blame] | 29 | /** Select all from the resource table |
| 30 | * |
| 31 | * @return a list of resources |
| 32 | */ |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 33 | public List<Resource> getAllResources () { |
| 34 | CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 35 | CriteriaQuery<Resource> query = |
| 36 | criteriaBuilder.createQuery(Resource.class); |
| margaretha | e353dfa | 2017-07-18 19:23:29 +0200 | [diff] [blame] | 37 | Root<Resource> resource = query.from(Resource.class); |
| margaretha | d3c0fc9 | 2017-10-25 15:03:32 +0200 | [diff] [blame] | 38 | resource.fetch(Resource_.layers); |
| margaretha | e353dfa | 2017-07-18 19:23:29 +0200 | [diff] [blame] | 39 | query.select(resource); |
| 40 | Query q = entityManager.createQuery(query); |
| margaretha | 543f200 | 2017-07-14 00:27:15 +0200 | [diff] [blame] | 41 | return q.getResultList(); |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 42 | } |
| margaretha | 38d530e | 2017-07-11 19:06:50 +0200 | [diff] [blame] | 43 | } |