Способы получения данных из базы данных через Hibernate - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в Hibernate и Spring.Я пытаюсь получить доступ к данным в Mysql с помощью Hibernate Framework.Но я не понимаю, какой класс использовать для извлечения объекта.Позвольте мне привести примеры.Я нашел в некоторых онлайн-учебниках и веб-сайтах

1.Использование HibernateTemplate в качестве интерфейса для доступа к данным

Использование Постоянство

EntityManagerFactory entityManagerFactory = Persistence
    .createEntityManagerFactory("pl.edu.bogdan.training.db.entity");
EntityManager em = entityManagerFactory.createEntityManager();

Использование SessionFactory

package com.journaldev.dao;
import java.util.List;
import org.hibernate.*;
import com.journaldev.model.Person;
public class PersonDAOImpl implements PersonDAO {
private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
}

@Override
public void save(Person p) {
    Session session = this.sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    session.persist(p);
    tx.commit();
    session.close();
}}

Не могли бы вы правильно направить меня.Спасибо

1 Ответ

0 голосов
/ 27 февраля 2019

Они в значительной степени эквивалентны, на данный момент единственной разницей является количество кода, которое вам нужно написать для доступа к данным.

Кроме того, вам может потребоваться точная настройка ваших запросов.Например, использование Transaction tx = session.beginTransaction(); помогает вам контролировать, какие манипуляции / запросы данных происходят в транзакции, чтобы вы не удерживали соединение с базой данных слишком долго.Если вам нужно только сохранить какую-то сущность, вы можете также пометить метод вашего компонента с помощью @Transactional.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...