Ich verwende Hibernate
und Postgres
und definiere einen character(1)[]
Spaltentyp.
Ich weiß also nicht, wie man criteria
benutzt, um einen Wert im Array zu finden.
Wie diese Abfrage
%Vor% Ich bin nicht vertraut mit Postgres
und seinen Typen, aber Sie können Ihren eigenen Typ mit benutzerdefiniertes Basistyp-Mapping . Das könnte die Abfrage vereinfachen.
Es gibt viele Threads in SO bezüglich Postres-Array-Typen und Hibernate, zum Beispiel dieser . Ein weiteres Array-Mapping-Beispiel, das nützlich sein könnte ist hier . Endlich, hier ist ein Beispiel von Verwenden von Kriterien mit Benutzertyp.
Codebeispiel könnte
sein %Vor% Auch wenn es für die Implementierung nicht wichtig ist, können Sie maximale Länge im Entitätsmodell definieren, indem Sie Ihr Feld mit @Column(length = 1)
annotieren.
Oder wenn Sie ein Array von Zeichen mit der Länge von 1
speichern müssen, können Sie ein Sammlungsart .
Ich hoffe, ich habe den Punkt richtig verstanden, aber es wäre nett, wenn die Problemdomäne besser beschrieben wäre.
Sie haben also ein Array von einzelnen Zeichen ... Problem ist, dass in PG keine feste Länge ist. Ich hatte dieses Problem, aber vor etwa 10 Jahren. Zu dieser Zeit hatte ich diese Spalte als String gemappt, und auf diese Weise konnte ich interne Daten verarbeiten - einfach per Komma schneiden und tun, was benötigt wird.
Wenn du das hasst, wie ich es tat ... Suche nach Spalten mit text[]
type - das ist häufiger, also ist es ziemlich einfach, etwas herauszufinden. Bitte schauen Sie sich dieses Beispielprojekt an:
Ссылка
Tags und Links sql hibernate postgresql criteria