簡體   English   中英

休眠查詢計數邏輯

[英]Hibernate query Count logic

public boolean minimoUmSuperUsuario(Usuario usuario, Session sessionExterna) throws HibernateException {  
Criteria crit = sessionExterna.createCriteria(Usuario.class);

return (Long) crit.uniqueResult() > 0;  

}  

這是我需要做的:

select * from usuario where superusuario and usuarioativo = true
if  superUsuario and usuarioAtivo == 1 return true 
else false.

我不知道如何將其放在上面的方法中

更新

這就是我所做的

public boolean superUsuarioUm(Usuario usuario, Session sessionExterna) throws HibernateException {
  Criteria crit = sessionExterna.createCriteria(Usuario.class);

  crit.add(Restrictions.eq("superUsuario", usuario.isSuperUsuario()));
  crit.add(Restrictions.eq("usuarioAtivo", usuario.isUsuarioAtivo()));

  final Number value = (Number) crit.uniqueResult();

  if (value.intValue() <= 1) {
    return true;
  } else {
    return false;
  }
}

這看起來正確嗎?

您只需要執行查詢並獲得結果。

 Criteria crit = // your criteria from your post

 final Number value = (Number) crit.uniqueResult();
 return value.intValue() <= 1;

從數據庫獲取結果所需要做的就是使用crit.uniqueResult() 這將為您提供許多行,但它將是一個Object 您可以將其intValue()(Number)並使用intValue()方法獲取int 最后,將它與1進行比較就可以完成! :)

暫無
暫無

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

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