簡體   English   中英

如何在hibernate中檢索數據庫表值?

[英]How to retrieve database table value in hibernate?

我是Hibernate的新手,我想從數據庫中檢索表值,我有一個代碼,但它返回對象值。 我的示例代碼是,

Configuration conf=new Configuration();
    @SuppressWarnings("deprecation")
    SessionFactory sessionfactory=conf.configure().buildSessionFactory();

    Session session=sessionfactory.openSession();
    List maintable = null;
    try
    {
        org.hibernate.Transaction tx = session.beginTransaction();
        Query q = session.createQuery ("select main.empid,main.address from Main as main");
         maintable =q.list();
         Object[] obj=maintable.toArray();

          for(int i=0;i<obj.length;i++)
          {
              System.out.println("column valuse : "+obj[i]);

          }

    tx.commit();
    session.close();

    }
    catch(Exception e1)
    {
        System.out.println("Exception");
    }

我需要獲得多個列值......我怎么能這樣做?

我可以輕松地從列表中檢索值。但在我上面的問題中,我只打印對象屬性而不是值。

Query qry=session.createQuery("from Main");
    List<Main> user=(List<Main>) qry.list();
    session.getTransaction().commit();

    session.close();
    for(Main u : user)
    {
        System.out.println("User id : "+u.getEmpid());
        System.out.println("User Address:"+u.getAddress());
    }

這就是Hibernate(或JPA)的意思。 如果要訪問常規值,請改用JDBC。

select main.empid,main.address from Main as main

請檢查empid,address是數據庫中的列名稱還是Main類的屬性名稱。

它應該是實體(即Main)類的屬性名稱。

當我們從實體類中檢索一些字段/屬性時,它非常有用。 上面帶有“new”關鍵字的查詢可以返回“Main”類型的列表。 如果我們不使用這樣的關鍵字並直接指定字段,則會檢索Object []類型的列表。

select new Main(main.empid,main.address) from Main as main

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM