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

Solution

parent 139635b8
No related merge requests found
Pipeline #105 failed with stages
in 0 seconds
......@@ -3,7 +3,7 @@ package koz01.java2.lab10;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.persistence.ManyToMany;
import lombok.AllArgsConstructor;
import lombok.Getter;
......@@ -19,8 +19,8 @@ public class Clas extends BaseEntity {
@Setter
private String cname;
@Transient
@ManyToMany(targetEntity = Teacher.class, mappedBy = "clas")
@Getter
@Setter
private Set<Clas> clas;
private Set<Teacher> teacher;
}
......@@ -2,8 +2,9 @@ package koz01.java2.lab10;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.persistence.OneToMany;
import lombok.AllArgsConstructor;
import lombok.Getter;
......@@ -19,7 +20,8 @@ public class Department extends BaseEntity {
@Setter
private String name;
@Transient
@OneToMany(targetEntity = Employee.class, mappedBy = "department",
cascade = CascadeType.PERSIST)
@Getter
@Setter
private List<Employee> employee;
......
package koz01.java2.lab10;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Getter;
......@@ -29,7 +29,7 @@ public class Employee extends BaseEntity {
@Setter
private String deg;
@Transient
@ManyToOne
@Setter
@Getter
private Department department;
......
package koz01.java2.lab10;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import lombok.Getter;
import lombok.NoArgsConstructor;
......@@ -8,6 +9,7 @@ import lombok.Setter;
@Entity
@NoArgsConstructor
@PrimaryKeyJoinColumn(referencedColumnName = "id")
public class NonTeachingStaff extends Staff {
@Getter
......
package koz01.java2.lab10;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@NoArgsConstructor
public class Staff extends BaseEntity {
......
......@@ -4,7 +4,7 @@ package koz01.java2.lab10;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Transient;
import javax.persistence.ManyToMany;
import lombok.AllArgsConstructor;
import lombok.Getter;
......@@ -24,8 +24,8 @@ public class Teacher extends BaseEntity {
@Setter
private String subject;
@Transient
@ManyToMany(targetEntity = Clas.class)
@Getter
@Setter
private Set<Clas> clasSet;
private Set<Clas> clas;
}
package koz01.java2.lab10;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@PrimaryKeyJoinColumn(referencedColumnName = "id")
@NoArgsConstructor
public class TeachingStaff extends Staff {
......
......@@ -3,6 +3,7 @@ package koz01.java2.lab10;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
......@@ -12,6 +13,9 @@ import javax.persistence.Persistence;
import org.junit.jupiter.api.Test;
import lombok.extern.log4j.Log4j2;
@Log4j2
public class DemoJPA {
@Test
......@@ -83,6 +87,16 @@ public class DemoJPA {
entitymanager.getTransaction().commit();
entitymanager.close();
emfactory.close();
emfactory = Persistence.createEntityManagerFactory("lab10");
entitymanager = emfactory.createEntityManager();
Iterator<?> result = entitymanager.createQuery("select d from Department d")
.getResultList().iterator();
while (result.hasNext()) {
Department d = (Department) result.next();
log.info("d.employee {}", d.getEmployee());
}
}
@Test
......
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