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; ...@@ -3,7 +3,7 @@ package koz01.java2.lab10;
import java.util.Set; import java.util.Set;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Transient; import javax.persistence.ManyToMany;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
...@@ -19,8 +19,8 @@ public class Clas extends BaseEntity { ...@@ -19,8 +19,8 @@ public class Clas extends BaseEntity {
@Setter @Setter
private String cname; private String cname;
@Transient @ManyToMany(targetEntity = Teacher.class, mappedBy = "clas")
@Getter @Getter
@Setter @Setter
private Set<Clas> clas; private Set<Teacher> teacher;
} }
...@@ -2,8 +2,9 @@ package koz01.java2.lab10; ...@@ -2,8 +2,9 @@ package koz01.java2.lab10;
import java.util.List; import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Transient; import javax.persistence.OneToMany;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
...@@ -19,7 +20,8 @@ public class Department extends BaseEntity { ...@@ -19,7 +20,8 @@ public class Department extends BaseEntity {
@Setter @Setter
private String name; private String name;
@Transient @OneToMany(targetEntity = Employee.class, mappedBy = "department",
cascade = CascadeType.PERSIST)
@Getter @Getter
@Setter @Setter
private List<Employee> employee; private List<Employee> employee;
......
package koz01.java2.lab10; package koz01.java2.lab10;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Transient; import javax.persistence.ManyToOne;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
...@@ -29,7 +29,7 @@ public class Employee extends BaseEntity { ...@@ -29,7 +29,7 @@ public class Employee extends BaseEntity {
@Setter @Setter
private String deg; private String deg;
@Transient @ManyToOne
@Setter @Setter
@Getter @Getter
private Department department; private Department department;
......
package koz01.java2.lab10; package koz01.java2.lab10;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -8,6 +9,7 @@ import lombok.Setter; ...@@ -8,6 +9,7 @@ import lombok.Setter;
@Entity @Entity
@NoArgsConstructor @NoArgsConstructor
@PrimaryKeyJoinColumn(referencedColumnName = "id")
public class NonTeachingStaff extends Staff { public class NonTeachingStaff extends Staff {
@Getter @Getter
......
package koz01.java2.lab10; package koz01.java2.lab10;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Entity @Entity
@Inheritance(strategy = InheritanceType.JOINED)
@NoArgsConstructor @NoArgsConstructor
public class Staff extends BaseEntity { public class Staff extends BaseEntity {
......
...@@ -4,7 +4,7 @@ package koz01.java2.lab10; ...@@ -4,7 +4,7 @@ package koz01.java2.lab10;
import java.util.Set; import java.util.Set;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Transient; import javax.persistence.ManyToMany;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
...@@ -24,8 +24,8 @@ public class Teacher extends BaseEntity { ...@@ -24,8 +24,8 @@ public class Teacher extends BaseEntity {
@Setter @Setter
private String subject; private String subject;
@Transient @ManyToMany(targetEntity = Clas.class)
@Getter @Getter
@Setter @Setter
private Set<Clas> clasSet; private Set<Clas> clas;
} }
package koz01.java2.lab10; package koz01.java2.lab10;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Entity @Entity
@PrimaryKeyJoinColumn(referencedColumnName = "id")
@NoArgsConstructor @NoArgsConstructor
public class TeachingStaff extends Staff { public class TeachingStaff extends Staff {
......
...@@ -3,6 +3,7 @@ package koz01.java2.lab10; ...@@ -3,6 +3,7 @@ package koz01.java2.lab10;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -12,6 +13,9 @@ import javax.persistence.Persistence; ...@@ -12,6 +13,9 @@ import javax.persistence.Persistence;
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
...@@ -83,6 +87,16 @@ public class DemoJPA { ...@@ -83,6 +87,16 @@ public class DemoJPA {
entitymanager.getTransaction().commit(); entitymanager.getTransaction().commit();
entitymanager.close(); entitymanager.close();
emfactory.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 @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