Ich habe Probleme mit der Eclipselink-Syntax in einer SQL-Abfrage für meine Website. Zurzeit habe ich einen Suchtextfeldeintrag mit einer entsprechenden Schaltfläche erstellt. Datensätze können nach Titel und Beschreibung durchsucht werden, der Suchinhalt muss jedoch identisch mit den Titeln/Beschreibungen in meinen Datenbankdaten übereinstimmen. Mein Hauptproblem ist das Erstellen der richtigen SQL-Abfrage mit der LIKE-Klausel mit dem Parameter "searchString" und der Wildcard-Funktionalität (%).Implementieren Suchfunktion - Eclipselink SQL mit Zeichenfolge als Parameter und Platzhalter%
Im Folgenden habe ich ein Beispiel für meine Abfrage aus der Entitätsklasse eingefügt.
Ich verstehe, dass das ":" Zeichen anzeigt, dass ein Parameter verwendet wird. Hat jemand Vorschläge, wie die Wildcard% -Funktionalität implementiert werden kann, damit Suchanfragen Anzeigen mit dem Suchinhalt zurückgeben?
Unten habe ich auch von Datenbank-Klasse meine getSearchedAds Methode enthalten
public static Collection <Ad> getSearchedAds (String searchString) {
EntityManager em = DBUtils.getEmFactory().createEntityManager();
Collection<Ad> results = null;
TypedQuery<Ad> q = em.createNamedQuery("Ad.findByString", Ad.class);
q.setParameter("searchString", searchString);
try {
results = q.getResultList();
} catch (Exception e) {
results = null;
}
Vielen Dank für Ihre Zeit.
'Mysql' oder' sql-server', welche Datenbank haben Sie benutzt? – Blank
@Reno Ich habe MySQL Workbench verwendet, um meine Datenbank zu erstellen –