Java - formulario hibernate

 
Vista:
Imágen de perfil de Violeta
Val: 34
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

formulario hibernate

Publicado por Violeta (16 intervenciones) el 25/03/2020 11:48:50
Buenas.

Tengo que hacer un formulario para consultar datos de una base Hibernate, con varias entradas, tiene que permitirme buscar por título, actor, etc... y a la vez.
Este es el código que tengo en un evento JButton:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if(!miTitle.getText().trim().equals("")){
 
    sql = sql + "f.title LIKE '%" + miTit + "%'";
    cont =1;
 
} else if(!miDesc.getText().trim().equals("")){
 
    if (cont >0){
        sql = sql + " AND f.description LIKE '%" + miDesc.getText() +"%'";
    } else {
        sql = sql + "f.description LIKE '%" + miDesc.getText() + "%'";
        cont =1;
    }
}else if(!miCcEsp.getText().trim().equals("")){
 
    if (cont > 0){
        sql = sql + "AND f.specialFeatures LIKE '%" + miCcEsp.getText() + "%'";
    } else {
        sql = sql + "f.specialFeatures LIKE '%" + miCcEsp.getText() + "%'";
        cont =1;
    }
 
}else if(!miActor.getText().trim().equals("")){
    String miAct=miActor.getText().toUpperCase();
    if(cont>0){
        sql = sql + "AND f.filmId in(select fa.film from FilmActor as fa where fa.actor in(select a.actorId from Actor as a \n" +
        "where a.firstName LIKE '%"+miAct+"%'))";
    }else{
        sql = sql + "f.filmId in(select fa.film from FilmActor as fa where fa.actor in(select a.actorId from Actor as a \n" +
        "where a.firstName LIKE '%"+miAct+"%'))";
    }
 
}
 
ejecutaConsulta(sql);
btnconsultar.setVisible(false);

La duda es, que de esta manera, se queda sólo con la primera opción que encuentra llena. ¿Hay alguna otra forma de que coja todas las que encuentre llenas? por separado me funcionan todas.
Por cierto, el botón lo oculto porque si se vuelve a clickar me salta una SQLGrammarException y no encontré forma de solucionarlo.

Gracias por adelantado y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

formulario hibernate

Publicado por Rodrigo (623 intervenciones) el 25/03/2020 12:59:53
Parece que para lograr lo que quieres bastaria con cambiar todos los "else if" por "if".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Violeta
Val: 34
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

formulario hibernate

Publicado por Violeta (16 intervenciones) el 27/03/2020 11:29:22
Pues si, no había caído.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar