Skip to content
Snippets Groups Projects
Commit 700a8233 authored by koz01's avatar koz01
Browse files

Solution in lab08 at 10:45

parent 573edfa4
Branches 2022_10-45
No related merge requests found
Pipeline #97 failed with stages
in 0 seconds
package koz01.java2.lab09;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
/**
* JavaFX App
*/
......@@ -8,6 +13,15 @@ public class App {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("lab09");
EntityManager em = emf.createEntityManager();
EntityTransaction trx = em.getTransaction();
trx.begin();
em.persist(Student.builder().firstName("Steve").build());
trx.commit();
em.close();
}
......
......@@ -2,10 +2,24 @@ package koz01.java2.lab09;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Transient;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Entity
public class Course {
@Transient
private Set<Student> students;
@Id
private String code;
private String name;
......
package koz01.java2.lab09;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
public class CreateStudents {
public static void main(String[] args) {
EntityManager em = EntityManagerProvider.getEntityManager();
EntityTransaction trx = em.getTransaction();
trx.begin();
Student s = Student.builder().firstName("Petr").lastName("A").build();
em.persist(s);
s = Student.builder().firstName("Petr").lastName("Nov").build();
em.persist(s);
s = Student.builder().firstName("Petr").lastName("Novák").build();
em.persist(s);
s = Student.builder().firstName("Petr").lastName("Novákovič").build();
em.persist(s);
trx.commit();
em.close();
}
}
package koz01.java2.lab09;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class EntityManagerProvider {
public static EntityManager getEntityManager() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("lab09");
return emf.createEntityManager();
}
}
package koz01.java2.lab09;
import java.util.List;
import javax.persistence.EntityManager;
import lombok.extern.log4j.Log4j2;
@Log4j2
public class ListStudent {
public static void main(String[] args) {
EntityManager em = EntityManagerProvider.getEntityManager();
List<Student> result = em.createQuery("select s FROM Student s where s.lastName LIKE :lm", Student.class)
.setParameter("lm", "Nov%")
.getResultList();
for (Student s : result) {
log.info("student: {}", s);
}
em.close();
}
}
package koz01.java2.lab09;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import lombok.extern.log4j.Log4j2;
@Log4j2
public class ListStudentByCriteria {
public static void main(String[] args) {
EntityManager em = EntityManagerProvider.getEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Student> cq = cb.createQuery(Student.class);
Root<Student> root = cq.from(Student.class);
cq.select(root).where(cb.like(root.get(Student_.lastName), "Nov%"));
List<Student> result = em.createQuery(cq)
.getResultList();
for (Student s : result) {
log.info("student: {}", s);
}
em.close();
}
}
package koz01.java2.lab09;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Getter
@Setter
private String firstName;
@Column(name = "last_name")
@Getter
@Setter
private String lastName;
......
module koz01.java2.lab09 {
requires transitive javafx.controls;
requires javafx.fxml;
requires java.persistence;
requires lombok;
requires java.sql;
requires org.hibernate.orm.core;
requires java.compiler;
requires java.annotation;
opens koz01.java2.lab09 to org.hibernate.orm.core;
requires java.persistence;
requires lombok;
requires java.sql;
requires org.hibernate.orm.core;
requires java.compiler;
requires java.annotation;
requires org.apache.logging.log4j;
opens koz01.java2.lab09 to org.hibernate.orm.core;
}
\ No newline at end of file
......@@ -36,6 +36,7 @@
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.connection.autocommit" value="true" />
</properties>
</persistence-unit>
......
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