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; ...@@ -9,9 +9,11 @@ import javax.persistence.MappedSuperclass;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.ToString;
@MappedSuperclass @MappedSuperclass
@EqualsAndHashCode @EqualsAndHashCode
@ToString
public class BaseEntity implements Serializable { public class BaseEntity implements Serializable {
@Getter @Getter
......
...@@ -9,8 +9,10 @@ import lombok.AllArgsConstructor; ...@@ -9,8 +9,10 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Entity @Entity
@ToString(callSuper = true)
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class Department extends BaseEntity { public class Department extends BaseEntity {
......
...@@ -7,16 +7,14 @@ import lombok.AllArgsConstructor; ...@@ -7,16 +7,14 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
@Entity @Entity
@ToString(callSuper = true)
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class Employee extends BaseEntity { public class Employee extends BaseEntity {
@Getter
@Setter
private int eid;
@Getter @Getter
@Setter @Setter
private String ename; private String ename;
...@@ -29,6 +27,7 @@ public class Employee extends BaseEntity { ...@@ -29,6 +27,7 @@ public class Employee extends BaseEntity {
@Setter @Setter
private String deg; private String deg;
@ToString.Exclude
@Transient @Transient
@Setter @Setter
@Getter @Getter
......
...@@ -9,9 +9,15 @@ import java.util.Set; ...@@ -9,9 +9,15 @@ import java.util.Set;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory; import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence; 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 org.junit.jupiter.api.Test;
import lombok.extern.log4j.Log4j2;
@Log4j2
public class DemoJPA { public class DemoJPA {
@Test @Test
...@@ -134,6 +140,67 @@ public class DemoJPA { ...@@ -134,6 +140,67 @@ public class DemoJPA {
emfactory.close(); 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 @Test
public void demostrateManyToMany() { public void demostrateManyToMany() {
...@@ -188,5 +255,38 @@ public class DemoJPA { ...@@ -188,5 +255,38 @@ public class DemoJPA {
public void demonstrateCriterie() { 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