Kur*_*t X 3 java hibernate row
我想从表中选择多行/记录,然后将结果放入"变量".然后我想打印每一行的内容.
如果我在Java中使用hibernate,我该怎么做?
例如,我有一个学生表,我想得到表的所有行.我知道每一行都是表/实体类/ bean的一个实例.(假设我有一个实体班级 - 学生)
该表就像(假设我在数据库中有数据表):
表名:sutdent
有四个柱子
id,lname,fname,sex
我记得我可以这样做:
List<student> stlist=HibernateUtil.getSession().createQuery("select*from student").list();
//here I want to print the lname of the first row/object
System.out.println(stlist.get(0).getLname(););
Run Code Online (Sandbox Code Playgroud)
为什么我收到错误消息"未指定令牌*"?
我不能用*?如果我不能使用*,如果我想获得一个记录的一切(所有属性/列),我该怎么办?
还是有其他错误?我该做什么?谢谢!!
You can do it by two ways.
1. HQL query
2. SQL query
1. HQL Query
- you are using hibernate that means you have done mapping to Student table and Student class.
you just need to change following line.
List<student> stlist=HibernateUtil.getSession().createQuery("from student").list();
and you will get all records from Student table.
2. SQL Query
- you can do by providing SQL query
List<Object> stlist=HibernateUtil.getSession().createSQLQuery("select * from student").list();
you will get all records as Object so you need to manually cast to Student.
Run Code Online (Sandbox Code Playgroud)
在HQL中,这是您编写查询以获取所有对象列表的方式: -
List<student> stlist = HibernateUtil.getSession().createQuery("select s from student s").list();
Run Code Online (Sandbox Code Playgroud)
如果你想获取所有列,甚至允许这样做.
List<student> stlist = HibernateUtil.getSession().createQuery("from student s").list();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24928 次 |
| 最近记录: |