2016-09-01 2 views
0

Hallo, ich verwende Hibernate-Kriterien zum Abrufen von Daten aus der Datenbank. Der Code ist unten angegeben. Ich möchte eine Zeichenfolge mit zwei Spalten suchen. Der folgende Code prüft nur eine Spalte, wie Kriterien mit zwei Spalten aussehen.Hibernate-ähnliche Kriterien für mehr als eine Zeile

Criteria c = getSession().createCriteria(ActivatedUser.class); 
        c.createAlias("key", "key"); 
c.createAlias("installedUser", "installedUser"); 
         if (searchTerm != null && !searchTerm.isEmpty()) { 
    //here i want to check 2 columns for a match 
         c.add(Restrictions.like("key.keyCode", searchTerm.toUpperCase() + "%")); 
         c.add(Restrictions.like("installedUser.email", searchTerm.toUpperCase() + "%")); 
        } 
+0

zwei Zeilen oder zwei Spalten? –

+0

Entschuldigung 2 Spalten – boycod3

+0

Wenn beide Suche wahr ist dann müssen Sie nur das Daten Rigt bekommen? –

Antwort

1

können Sie logische AND Operator wie

c.add(Restrictions.and(Restrictions.like("key.keyCode", searchTerm.toUpperCase() + "%"), Restrictions.like("installedUser.email", searchTerm.toUpperCase() + "%"))); 
+0

Entschuldigung, der Code funktioniert. es holt nicht, wenn E-Mail und Schlüsselcode richtig eingegeben – boycod3

+0

der Code funktionierte, als ich das AND zu ODER änderte, irgendwie danke – boycod3

Verwandte Themen