这个方法应该从我的数据库(Godkjenning)中生成一个列表,如果我在数据库中写了("Godkjent"),我希望它返回true,如果没有,则返回false。
public boolean GodkjenningT(String godkjentIkkegodkjent) {
List<Tilbakemelding> tilbakemeldingListe = em.createQuery(
"SELECT t FROM Tilbakemelding t WHERE t.Godkjenning LIKE :godkjenning" )
.setParameter("godkjenning", godkjentIkkegodkjent )
.setMaxResults(1)
.getResultList();
System.out.println("godkjenning" + godkjentIkkegodkjent);
if(tilbakemeldingListe.equals("Godkjent")){
return true;
}
else {
return false;
}
}
}
我将编辑如下代码:
public boolean GodkjenningT(String godkjentIkkegodkjent) {
/*now the query matches cases and the 'LIKE' statement will work correctly
having the '%' char before and after the string */
List<Tilbakemelding> tilbakemeldingListe = em.createQuery(
"SELECT t FROM Tilbakemelding t WHERE UPPER(t.Godkjenning) LIKE UPPER(?)")
.setString(0, "%"+godkjentIkkegodkjent+"%")
.getResultList();
System.out.println("godkjenning" + godkjentIkkegodkjent);
/*here you have to iterate the list to find if there is the string inside*/
for(Tilbakemelding element : tilbakemeldingListe){
/*if you want not to consider the case, you have to use the equalsIgnoreCase statement*/
if(element.getGodkjenning().equals("Godkjent")){
return true;
} else {
return false;
}
}
}
但是,你能发布这个类的实现吗:Tilbakemelding?我假设你的Tilbakemelding实体(那是一个实体吗?:))有一个getGodkjenning()方法来完成我的代码。