【问题标题】:How to get all the rows from a table using Hibernate efficiently?如何有效地使用 Hibernate 从表中获取所有行?
【发布时间】:2019-06-09 08:30:35
【问题描述】:

我希望显示使用休眠的表中的所有行。我用的是休眠 5。

我尝试过这样的事情 但是方法 createCriteria 显示为折旧方法。请建议我一种从表中获取所有数据的有效方法

session.createCriteria(Student.class).list();

我有一个这样的学生 Bean 课程:

package com.Hibernate;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="student")
public class Student {

    @Id
    private int id;
    private String name;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }


}

并且有一个 Student.hbm.xml 文件,例如:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 4 Jun, 2019 3:36:17 PM by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
    <class name="com.Hibernate.Student" table="STUDENT">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="assigned" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
    </class>
</hibernate-mapping>


【问题讨论】:

    标签: java hibernate javabeans


    【解决方案1】:

    在 Hibernate 5+ 中使用 CriteriaBuilderCriteriaQuery 接口

    // Create CriteriaBuilder
    CriteriaBuilder builder = session.getCriteriaBuilder();
    
    // Create CriteriaQuery
    CriteriaQuery<Student> criteria = builder.createQuery(Student.class);
    
    // Set root
    Root<Student> root = criteria.from(Student.class);
    criteria.select(root);
    
    // Query execution
    Query<Item> query = session.createQuery(criteria);
    List<Item> results = query.getResultList();
    

    【讨论】:

    • 能否请您提一下 Query 的导入是什么
    • 导入 org.hibernate.Query;
    • 感谢您的回答,这是按预期工作的
    猜你喜欢
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2012-11-20
    相关资源
    最近更新 更多