Skip to content
Snippets Groups Projects
Commit 1d030b97 authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

Improve master.

parent 701055a5
No related merge requests found
......@@ -9,9 +9,11 @@ import javax.persistence.MappedSuperclass;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
@MappedSuperclass
@EqualsAndHashCode
@ToString
public class BaseEntity implements Serializable {
@Getter
......
......@@ -9,8 +9,10 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Entity
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class Department extends BaseEntity {
......
......@@ -7,16 +7,14 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Entity
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class Employee extends BaseEntity {
@Getter
@Setter
private int eid;
@Getter
@Setter
private String ename;
......@@ -29,6 +27,7 @@ public class Employee extends BaseEntity {
@Setter
private String deg;
@ToString.Exclude
@Transient
@Setter
@Getter
......
......@@ -9,9 +9,15 @@ import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import org.junit.jupiter.api.Test;
import lombok.extern.log4j.Log4j2;
@Log4j2
public class DemoJPA {
@Test
......@@ -134,6 +140,67 @@ public class DemoJPA {
emfactory.close();
}
@Test
public void demostrateOneToManyMapped() {
EntityManagerFactory emfactory = Persistence.createEntityManagerFactory(
"lab10");
EntityManager entitymanager = emfactory.createEntityManager();
entitymanager.getTransaction().begin();
// Create Department Entity
Department department = new Department();
department.setName("Development");
// Store Department
entitymanager.persist(department);
// Create Employee1 Entity
Employee employee1 = new Employee();
employee1.setEname("Satish");
employee1.setSalary(45000.0);
employee1.setDeg("Technical Writer");
employee1.setDepartment(department);
// Create Employee2 Entity
Employee employee2 = new Employee();
employee2.setEname("Krishna");
employee2.setSalary(45000.0);
employee2.setDeg("Technical Writer");
employee2.setDepartment(department);
// Create Employee3 Entity
Employee employee3 = new Employee();
employee3.setEname("Masthanvali");
employee3.setSalary(50000.0);
employee3.setDeg("Technical Writer");
employee3.setDepartment(department);
// Store Employee
entitymanager.persist(employee1);
entitymanager.persist(employee2);
entitymanager.persist(employee3);
entitymanager.getTransaction().commit();
entitymanager.close();
emfactory.close();
emfactory = Persistence.createEntityManagerFactory("lab10");
entitymanager = emfactory.createEntityManager();
CriteriaBuilder cb = entitymanager.getCriteriaBuilder();
CriteriaQuery<Department> query = entitymanager.getCriteriaBuilder()
.createQuery(Department.class);
Root<Department> root = query.from(Department.class);
for (Department res : entitymanager.createQuery(query.select(root).where(cb
.like(root.get(Department_.name), "dep")))
.getResultList())
{
log.info("dep = {}, dep.employee = {}", res, res.getEmployee());
}
}
@Test
public void demostrateManyToMany() {
......@@ -188,5 +255,38 @@ public class DemoJPA {
public void demonstrateCriterie() {
EntityManagerFactory emfactory = Persistence.createEntityManagerFactory(
"lab10");
EntityManager entitymanager = emfactory.createEntityManager();
entitymanager.getTransaction().begin();
// Create Employee1 Entity
Employee employee1 = new Employee();
employee1.setEname("Satish");
employee1.setSalary(45000.0);
employee1.setDeg("Technical Writer");
// Create Employee2 Entity
Employee employee2 = new Employee();
employee2.setEname("Krishna");
employee2.setSalary(45000.0);
employee2.setDeg("Technical Writer");
// Create Employee3 Entity
Employee employee3 = new Employee();
employee3.setEname("Masthanvali");
employee3.setSalary(50000.0);
employee3.setDeg("Technical Writer");
// Store Employee
entitymanager.persist(employee1);
entitymanager.persist(employee2);
entitymanager.persist(employee3);
entitymanager.getTransaction().commit();
entitymanager.close();
emfactory.close();
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment