Page 1 of 1

Java -Typ in JDBS -Vorbereitungen für PostgreSQL ltree [] (Array von Ltree -Elementen)

Posted: 03 Mar 2025, 22:52
by Anonymous
Ich habe eine von JDBC erstellte Anweisung, die einen Parameter von LTree [] enthält, dem hierarchischen baumartigen Datentyp in Postgres. Leistung ist kritisch. Also verwende ich vorbereitete Aussagen. Ich möchte die Abfrage programmgesteuert nicht konstruieren, daher möchte ich die Liste der Primärschlüssel übergeben (

Code: Select all

ltree[]
) als Parameter.PreparedStatement myStatement = connection.prepareStatement(
"""
SELECT path
FROM my_table
WHERE path IN ( ? )
""");
< /code>
Der Code, in dem ich versuche, den Parameter zu bevölkern: < /p>
ArrayList listWithQuotes = new ArrayList();
listWithQuotes.add("A.B.C");
listWithQuotes.add("A.B");

Array array = connection.createArrayOf("ltree[]",listWithQuotes.toArray() );
currStatement.setArray(1,array);
ResultSet rs = currStatement.executeQuery();
< /code>
Hier ist die Fehlermeldung, die ich erhalten habe: < /p>

java.lang.RuntimeException: java.lang.runtimexception: org.postgresql.util.psqLexception: Der server -Array -Typ, der nicht den Namen für bereitgestellte Namen liefert.>