Java如何在Hibernate中从数据库检索对象?

在如何在休眠中存储对象?示例,您将看到如何将对象存储到数据库中。在此示例中,我们将扩展LabelManager类并添加从数据库获取或查询对象的功能。

package org.nhooo.example.hibernate.app;

import org.hibernate.Session;
import org.nhooo.example.hibernate.model.Label;

public class LabelManager {
    public Label getLabel(Long id) {
        Session session =
            SessionFactoryHelper.getSessionFactory().getCurrentSession();
        session.beginTransaction();

        // 我们通过调用Session从数据库取回Label对象
        // object get()方法并传递对象类型和对象
        // 要读取的ID。
        Label label = session.get(Label.class, id);
        session.getTransaction().commit();

        return label;
    }

    public void saveLabel(Label label) {
        // 为了保存对象,我们首先通过调用
        // SessionFactoryHelper中的getCurrentSession()方法
        //类。接下来我们创建一个新事务,保存Label对象
        // 并将其提交到数据库,
        Session session =
            SessionFactoryHelper.getSessionFactory().getCurrentSession();

        session.beginTransaction();
        session.save(label);
        session.getTransaction().commit();
    }
}
package org.nhooo.example.hibernate.app;

import org.nhooo.example.hibernate.model.Label;

public class LoadDemo {
    public static void main(String[] args) {
        // 创建LabelManager的实例。
        LabelManager manager = new LabelManager();

        // 我们将getLabel()方法称为传递标签ID以加载它
        // 从数据库中打印出标签字符串。
        Label label = manager.getLabel(1L);
        System.out.println("label = " + label);
    }
}

Maven依赖

<dependencies>
    <!--https://search.maven.org/remotecontent?filepath=org/hibernate/hibernate-core/5.4.1.Final/hibernate-core-5.4.1.Final.jar-->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.1.Final</version>
    </dependency>
    <!--https://search.maven.org/remotecontent?filepath=org/hibernate/hibernate-ehcache/5.4.1.Final/hibernate-ehcache-5.4.1.Final.jar-->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>5.4.1.Final</version>
    </dependency>
    <!--https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
</dependencies>

Maven中央
Maven中央