Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
1.4 kB
1
Indexable
Never
package org.example.repository;

import org.example.entity.Classroom;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import java.util.List;

public class ClassroomRepo {

    private EntityManagerFactory emf;
    private EntityManager entityManager;

    public ClassroomRepo() {
        emf = Persistence.createEntityManagerFactory("default");
        entityManager = emf.createEntityManager();
    }

    public void saveClassroom(Classroom classroom) {
        entityManager.getTransaction().begin();
        entityManager.persist(classroom);
        entityManager.getTransaction().commit();
    }

    public Classroom getClassroomById(int id) {
        return entityManager.find(Classroom.class, id);
    }

    public List getAllClassrooms() {
        Query query = entityManager.createQuery("SELECT c FROM Classroom c");
        return query.getResultList();
    }

    public void updateClassroom(Classroom classroom) {
        entityManager.getTransaction().begin();
        entityManager.merge(classroom);
        entityManager.getTransaction().commit();
    }

    public void deleteClassroom(Classroom classroom) {
        entityManager.getTransaction().begin();
        entityManager.remove(classroom);
        entityManager.getTransaction().commit();
    }
}