/
Nicholas
/
java_basics
Обзор
Документация
Войти
/
Nicholas
/
java_basics
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
SQLAndHibernate2/src/main/java/Main.java
56 строк
3 KB
Николай Соколовский
Homework
12 ноя 2023, 22:23
12 ноя 2023, 22:23
e762351
Код
Авторство
О чём код?
import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.Root; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.Metadata; import org.hibernate.boot.MetadataSources; import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import java.util.List; public class Main { public static void main(String[] args) { StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); Metadata metadata = new MetadataSources(registry).getMetadataBuilder().build(); SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build(); Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session.createQuery("delete from LinkedPurchaseList").executeUpdate(); // Чистим таблицу CriteriaBuilder builder = session.getCriteriaBuilder(); CriteriaQuery<PurchaseList> query = builder.createQuery(PurchaseList.class); Root<PurchaseList> root = query.from(PurchaseList.class); query.select(root); List<PurchaseList> list = session.createQuery(query).getResultList(); for (PurchaseList l : list){ String hqlStudent = "from "+Student.class.getName()+" where name = '"+l.getStudentName()+"'"; List<Student> studentList = session.createQuery(hqlStudent).getResultList(); int studentId = -1; for (Student s : studentList){ studentId = s.getId(); } String hqlCourse = "from "+Course.class.getName()+" where name = '"+l.getCourseName()+"'"; List<Course> coursetList = session.createQuery(hqlCourse).getResultList(); int courseId = -1; for (Course c : coursetList){ courseId = c.getId(); } if (studentId!= -1&&courseId!=-1) { LinkedPurchaseList linkedPurchaseList = new LinkedPurchaseList(); SubscriptionId subscriptionId = new SubscriptionId(); subscriptionId.setStudentId(studentId); subscriptionId.setCourseId(courseId); linkedPurchaseList.setId(subscriptionId); session.save(linkedPurchaseList); } } transaction.commit(); sessionFactory.close(); } }