kannengi
Elite Observer

Query escape

Hi,

wir machen in einem Modul folgende programmatische Query:

String query = "<QUERY entityType='user'><EQ attribute='username' datatype='java.lang.String' value='" + login + "'/></QUERY>";
Schema sh = content2.getSchema();
Session session = sh.getSession();
Select select = session.xml2Select(query);
// usw.

 

Jetzt ist es vorgekommen, dass die Variable "login" ein Hochkomma enthielt und dadurch die Query zerstörte.

Meine Frage wäre, wie man korrekt in diesem Kontext escaped??

Danke für einen TIpp!

Gruß,

Benny

0 Kudos
2 Replies
hbarthel
New Responder

Hallo Benny,

wir würden das so lösen, was aus meiner Sicht sogar etwas eleganter ist:

Select select = session.createSelect("user");
select.setConstraint(new Equal("username", login));
EntityList entities = session.executeQuery(select);

Cheers, Heiko

kannengi
Elite Observer

Hallo Haiko,

danke für den Tipp, funktioniert!

Gruß, Benny

0 Kudos