用户登录
用户注册

分享至

hibernate 获取最大值

  • 作者: 回忆像条狗6666
  • 来源: 51数据库
  • 2020-12-27
查找某字段的最大值方法:
List results = session.find("select count(*), avg(user.age) from User as user");

ListIterator iterator = results.listIterator();

Object[] rows = (Object[]) iterator.next();

System.out.println("资料笔数: " + rows[0] + "\n平均年龄: " + rows[1]);
例如要查询Problem 中的pid,score,title,totalAccept,totalSubmission,unSee

public class Problem {
private int pid;
private int score;
private int timeLimit;
private int memoryLimit;
private int totalAccept;
private int totalSubmission;
private int unSee;
private String title;
private String description;
private String input;
private String output;

public Problem(int pid, int score,String title, int totalAccept, int totalSubmission,
int unSee) {
super();
this.pid = pid;
this.score = score;
this.totalAccept = totalAccept;
this.totalSubmission = totalSubmission;
this.unSee = unSee;
this.title = title;
}
//省略getter 和 setter
}
查询语句如下
Query query=session.createQuery("select new Problem(pid,score,title,totalAccept,totalSubmission,unSee) from Problem order by pid");
//query.setFirstResult(firstResult); //分页函数
//query.setMaxResults(maxResutl);

List problems=query.list();//返回的还是Problem对象



  Query q = session.createQuery("select max(c.id) from Event c"); 会获得Event的id字段的最大值



  Integer maxValue=(Integer)session.createQuery("select max(m.messageId) from Message m ").uniqueResult();
max()返回的是一个Integer类型.



  

你可以直接传一个admin对象 执行session.update(admin);

 

也可以

 

string hql = "from admin as admin set admin.status=status where admin.id=id";

   query = session.createquery(hql);

   query.setstring("status ", status );

   query.setinteger("id", id)

 

 

不懂可以追问!!

软件
前端设计
程序设计
Java相关