Google unterstützt Open-Source-Spanner-Treiber für mehrere gängige objektrelationale Zuordnungsbibliotheken (ORMs) und Frameworks. Diese Treiber ermöglichen die Verwendung von Spanner-Datenbanken über APIs, die durch diese Frameworks definiert sind.
In den folgenden Tabellen sind alle Open-Source-ORMs und -Treiber aufgeführt, die für Spanner unterstützt werden, sowie die jeweils unterstützten Funktionen. Für jeden unterstützten SQL-Dialekt gibt es eine Tabelle.
Sie können auch die Spanner-Clientbibliotheken verwenden, um auf die Spanner API zuzugreifen. Weitere Informationen finden Sie unter Spanner-Clientbibliotheken.
GoogleSQL-Treiber und ORMs
Funktion | database/sql | GORM | Spanner-JDBC | Hibernate | Spring Data | R2DBC* | Entity Framework | Active Record | SQLAlchemy | Django | NHibernate |
---|---|---|---|---|---|---|---|---|---|---|---|
Sprache | Einfach loslegen (Go) | Einfach loslegen (Go) | Java | Java | Java | Java | C# | Ruby | Python | Python | C# |
Für Anweisungen unterstützte Hinweise | † | ||||||||||
Mutationen | |||||||||||
Batch-DML | |||||||||||
Batch-DDL | |||||||||||
Veraltete Lesevorgänge | |||||||||||
Überlappende Tabellen | |||||||||||
Partitionierte DML | |||||||||||
Sitzungslabels | |||||||||||
Anfragepriorität | |||||||||||
JSON-Typ | |||||||||||
Tagging anfordern | |||||||||||
Google SQL-Dialekt | |||||||||||
PostgreSQL-Dialekt | |||||||||||
Beschränkungen | View | View | View | View | View | View | View |
* In dieser Spalte wird R2DBC beschrieben, wenn es speziell mit Spring Data verwendet wird.
† Nur beim Senden von literalen SQL-Abfragen über die Spring Data-Annotation @Query
verfügbar.
PostgreSQL-Treiber und ORMs
Der PGAdapter-Proxy muss bei allen PostgreSQL-Treibern ausgeführt werden. Weitere Informationen finden Sie unter Informationen zum PGAdapter.
Funktion | Spanner-JDBC | PostgreSQL-JDBC | Hibernate | Seite X | GORM | psycopg2 | psycopg3 | SQLAlchemy 2 | node-postgres |
---|---|---|---|---|---|---|---|---|---|
Sprache | Java | Java | Java | Einfach loslegen (Go) | Einfach loslegen (Go) | Python | Python | Python | Node.js |
Für Anweisungen unterstützte Hinweise | |||||||||
Mutationen | |||||||||
Batch-DML | |||||||||
Batch-DDL | |||||||||
Veraltete Lesevorgänge | |||||||||
Überlappende Tabellen | |||||||||
Partitionierte DML | |||||||||
Sitzungslabels | |||||||||
Anfragepriorität | |||||||||
Tagging anfordern | |||||||||
Beschränkungen | View | View | View | View | View | View | View | View |