Skip to content

Commit 71bca76

Browse files
enpy303echeyne
authored andcommitted
BAEL-2809 Get all Data in a table with Hibernate (eugenp#5670)
* BAEL-2809 Get all Data in a table with Hibernate * Delete transaction.log * Update FindAll.java * Update FindAllTest.java * Update FindAll.java * Update FindAllTest.java * Rename FindAllTest.java to FindAllUnitTest.java
1 parent 5ba5b60 commit 71bca76

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.baeldung.hibernate.findall;
2+
3+
import java.util.List;
4+
5+
import javax.persistence.TypedQuery;
6+
import javax.persistence.criteria.CriteriaBuilder;
7+
import javax.persistence.criteria.CriteriaQuery;
8+
import javax.persistence.criteria.Root;
9+
10+
import org.hibernate.Session;
11+
12+
import com.baeldung.hibernate.pojo.Student;
13+
14+
public class FindAll {
15+
16+
private Session session;
17+
18+
public FindAll(Session session) {
19+
super();
20+
this.session = session;
21+
}
22+
23+
public List<Student> findAllWithJpql() {
24+
return session.createQuery("SELECT a FROM Student a", Student.class).getResultList();
25+
}
26+
27+
public List<Student> findAllWithCriteriaQuery() {
28+
CriteriaBuilder cb = session.getCriteriaBuilder();
29+
CriteriaQuery<Student> cq = cb.createQuery(Student.class);
30+
Root<Student> rootEntry = cq.from(Student.class);
31+
CriteriaQuery<Student> all = cq.select(rootEntry);
32+
TypedQuery<Student> allQuery = session.createQuery(all);
33+
return allQuery.getResultList();
34+
}
35+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.baeldung.hibernate.findall;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import java.io.IOException;
6+
import java.util.List;
7+
8+
import org.hibernate.Session;
9+
import org.hibernate.Transaction;
10+
import org.junit.After;
11+
import org.junit.Before;
12+
import org.junit.Test;
13+
14+
import com.baeldung.hibernate.HibernateUtil;
15+
import com.baeldung.hibernate.pojo.Student;
16+
17+
public class FindAllUnitTest {
18+
19+
private Session session;
20+
private Transaction transaction;
21+
22+
private FindAll findAll;
23+
24+
@Before
25+
public void setUp() throws IOException {
26+
27+
session = HibernateUtil.getSessionFactory().openSession();
28+
transaction = session.beginTransaction();
29+
findAll = new FindAll(session);
30+
31+
session.createNativeQuery("delete from Student").executeUpdate();
32+
33+
Student student1 = new Student();
34+
session.persist(student1);
35+
36+
Student student2 = new Student();
37+
session.persist(student2);
38+
39+
Student student3 = new Student();
40+
session.persist(student3);
41+
42+
transaction.commit();
43+
transaction = session.beginTransaction();
44+
}
45+
46+
@After
47+
public void tearDown() {
48+
transaction.rollback();
49+
session.close();
50+
}
51+
52+
@Test
53+
public void givenCriteriaQuery_WhenFindAll_ThenGetAllPersons() {
54+
List<Student> list = findAll.findAllWithCriteriaQuery();
55+
assertEquals(3, list.size());
56+
}
57+
58+
@Test
59+
public void givenJpql_WhenFindAll_ThenGetAllPersons() {
60+
List<Student> list = findAll.findAllWithJpql();
61+
assertEquals(3, list.size());
62+
}
63+
}

0 commit comments

Comments
 (0)