当前位置: 首页 > 面试题库 >

如何在Hibernate中从数据库中获取数据

邹齐智
2023-03-14
问题内容

这是我的类,用于从数据库中获取数据

package com.javatpoint.mypackage;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.mapping.List;

public class retrive {
    public static void main(String args[]) {
        Configuration cfg = new Configuration();
        cfg.configure("hibernate.cfg.xml");// populates the data of the
                                            // configuration file

        // creating seession factory object
        SessionFactory factory = cfg.buildSessionFactory();

        // creating session object
        Session session = factory.openSession();

        // creating transaction object
        Transaction t = session.beginTransaction();

        Query query = session.createQuery("from EMPLOYEE");
        java.util.List list = query.list();
        System.out.println(list);
        t.commit();
        session.close();
    }
}

这是我的Emplouyee.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 5 Dec, 2013 12:09:18 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping default-lazy="false">
    <class name="com.javatpoint.mypackage.Employee" table="EMPLOYEE">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="assigned" />
        </id>
        <property generated="never" lazy="false" name="firstName"
            type="java.lang.String">
            <column name="FIRSTNAME" />
        </property>
        <property generated="never" lazy="false" name="lastName"
            type="java.lang.String">
            <column name="LASTNAME" />
        </property>
    </class>
</hibernate-mapping>

当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。

Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: 
           EMPLOYEE is not mapped [from EMPLOYEE]

虽然我能够将数据存储在数据库中,但我有2个用于第一String data和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。


问题答案:

让我引述一下:

Hibernate created a new language named Hibernate Query Language (HQL), the syntax is quite similar to database SQL language. The main difference between is HQL uses class name instead of table name, and property names instead of column name.

据我所知,您正在使用表名。

所以应该是这样的:

Query query = session.createQuery("from Employee");


 类似资料:
  • 问题内容: 我有2种情况,我要在codeigniter中提取同一表的全部数据和行总数,我想知道那是一种方法,可以从中获取行总数,整个数据和3个最新插入的记录通过一个代码在同一张桌子上 两种情况的控制器代码如下(尽管我分别使用不同的参数将其应用于每种情况) 1)从codeigniter中的表中获取全部数据 型号代码 查看代码 2)在Codeigniter中从表中获取行数 查看代码 问题答案: 您只能

  • 问题内容: 我最近将应用程序中的hiberbnate模式更新为5.4.4.Final。现在,在部署过程中我面临以下异常。 我使用以下persistence.xml。 经过进一步调查,我发现根本原因是:hibernate使用 SequenceInformation 接口进行序列元数据操作 但是,我的应用程序使用如下序列: 该 Long.MAX_VALUE 等于9223372036854775807,

  • 问题内容: 我想知道如何在CodeIgniter中使用AJAX从数据库获取数据。您能否检查下面的代码以找出问题的原因?当我从视图中单击链接时,没有任何反应。 这是我的看法: 这是我的控制器: 这是我的模型: 这是我的JavaScript文件: 问题答案: 试试这个: 我所看到的问题是这是因为您的选择器是锚,并且锚具有文本而不是值。因此,我建议您使用而不是。

  • 问题内容: 我正在尝试创建一个用于在PHP上执行oracle sql语句的类。 这是我的index.php,我正在尝试调用我的函数 和我的dbcontrol.php用于我的功能 我不确定似乎有什么问题。但是每次我运行这个。页面上未显示任何内容。没有结果,没有数据。但是我确信数据库中有数据。 问题答案: 您总是得到空白页的原因是: oci_num_rows()函数不会返回您可能认为的所选行数。它返回

  • 问题内容: 在Spring MVC中使用PropertyEditor时,让它们从数据库中获取实体是否不好?我应该改为创建一个空实体并设置其ID。 例如,实体Employee: 使用以下GenericEntityEditor在下面的PropertyEditor中获取Entity是一个坏主意: 可以绑定在控制器中: 是否更喜欢对EmployeeEditor使用更具体的方法,并使其仅实例化Employe

  • 问题内容: 有没有一种方法可以通过Hibernate 3.2 API获得一些基础数据库版本的信息?我在这里和javadoc中都找不到相关的位。 问题答案: 获取数据库引擎的版本是特定于实现的。这意味着没有获取版本的共享方法,因此Hibernate不能真正提供API,因为它没有绑定到任何特定的RDBMS。例如,以下是通过一些著名的RDBMS使用SELECT语句获取版本的几种不同方法: Oracle