Added Result
This commit is contained in:
parent
9efd6103ec
commit
fbe433ebb4
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class Department {
|
public class Department {
|
||||||
|
@ -13,4 +14,22 @@ public class Department {
|
||||||
String name;
|
String name;
|
||||||
@OneToMany(mappedBy="department")
|
@OneToMany(mappedBy="department")
|
||||||
List<Employee> employees;
|
List<Employee> employees;
|
||||||
|
public long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setId(long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
public List<Employee> getEmployees() {
|
||||||
|
return employees;
|
||||||
|
}
|
||||||
|
public void setEmployees(List<Employee> employees) {
|
||||||
|
this.employees = employees;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.baeldung.hibernate.entities;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class Employee {
|
public class Employee {
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.baeldung.hibernate.pojo;
|
||||||
|
|
||||||
|
public class Result {
|
||||||
|
String employeeName;
|
||||||
|
String departmentName;
|
||||||
|
|
||||||
|
public Result(String employeeName, String departmentName) {
|
||||||
|
this.employeeName = employeeName;
|
||||||
|
this.departmentName = departmentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmployeeName() {
|
||||||
|
return employeeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmployeeName(String employeeName) {
|
||||||
|
this.employeeName = employeeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDepartmentName() {
|
||||||
|
return departmentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDepartmentName(String departmentName) {
|
||||||
|
this.departmentName = departmentName;
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,27 +10,38 @@ import org.hibernate.Session;
|
||||||
import org.hibernate.Transaction;
|
import org.hibernate.Transaction;
|
||||||
import org.hibernate.query.Query;
|
import org.hibernate.query.Query;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import com.baeldung.hibernate.pojo.Result;
|
||||||
|
|
||||||
class CustomClassIntegrationTest {
|
class CustomClassIntegrationTest {
|
||||||
|
|
||||||
private Session session;
|
private Session session;
|
||||||
|
|
||||||
private Transaction transaction;
|
private Transaction transaction;
|
||||||
|
|
||||||
@Before
|
@BeforeEach
|
||||||
public void setUp() throws IOException {
|
public void setUp() throws IOException {
|
||||||
session = HibernateUtil.getSessionFactory().openSession();
|
session = HibernateUtil.getSessionFactory().openSession();
|
||||||
transaction = session.beginTransaction();
|
transaction = session.beginTransaction();
|
||||||
session.createNativeQuery("delete from employee").executeUpdate();
|
session.createNativeQuery("delete from emp").executeUpdate();
|
||||||
session.createNativeQuery("delete from department").executeUpdate();
|
session.createNativeQuery("delete from dept").executeUpdate();
|
||||||
transaction.commit();
|
transaction.commit();
|
||||||
|
transaction = session.beginTransaction();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenAllEmployeesSelected_ThenObjectGraphReturned() {
|
public void whenAllEmployeesSelected_ThenObjectGraphReturned() {
|
||||||
Query query = session.createQuery("from employee");
|
@SuppressWarnings("unchecked")
|
||||||
|
Query<Object> query = session.createQuery("from Employee");
|
||||||
List employees = query.list();
|
List employees = query.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenResultConstructorInSelect_ThenListOfResultReturned() {
|
||||||
|
Query query = session.createQuery("select new Result(e.name, e.department.name) from Employee e");
|
||||||
|
List<Result> employees = query.list();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue