Zum Inhalt springen
Anjunar/ DOCS

API und Grenzen

Öffentliche API, unterstützte Mappings und abgelehnte Operationen nachschlagen.

Module

Eine öffentliche Runtime-API

hibernate-i18n-core liefert die Annotationen. hibernate-i18n enthält Mapping-Bootstrap, sprachgebundene Sessions, typisierten Editor und Schema-Integration. Es gibt ein Runtime-Artefakt.

HibernateI18n.registryBuilder()
Erzeugt einen Hibernate-Registry-Builder mit Übersetzungs-Mapping-Contributors.
HibernateI18n.install(factory, entityClass, idOf, fields)
Installiert eine Entity-Brücke und liefert ihren typisierten Übersetzungszugriff.
HibernateI18n.openSession(factory, locale[, tenantId])
Öffnet nach Prüfung der installierten Brücken eine Session mit fester Inhaltssprache und optionalem Tenant.
TranslationField.string(name, read)
Beschreibt ein gewöhnliches String-Übersetzungsfeld.
TranslationField.converted(name, read, toDatabase, fromDatabase)
Beschreibt einen konvertierten Wert mit passender String-Kodierung und -Dekodierung.
translations.get(session, entity, field, locale)
Liefert Option des exakten Sprachwerts ohne Fallback.
translations.set(session, entity, field, locale, value)
Schreibt eine Überschreibung für eine inaktive Sprache; null entfernt sie.
translations.copyInactive(session, from, to)
Kopiert gespeicherte inaktive Sprachzeilen und liefert ihre Anzahl.
Umfang

Den unterstützten Vertrag kennen

Diese Einschränkungen gehören zum Runtime-Vertrag von 1.0.0. Prüfe Quelltext und Integrationstests einer neuen Version vor ihrer Übernahme.

Unterstützte Mapping-Form
Eine UUID-ID, String-Datenbankwerte und einheitlicher Feld- oder JavaBean-Getter-Zugriff.
Einfache Spaltenbezeichner; Tabellennamen dürfen auch # enthalten.
String-@TenantId für Isolation in gemeinsamen Tabellen.
Übersetzte Member einer MappedSuperclass dürfen ein Entity-Mapping pro Factory versorgen.
Abgelehnte Operationen

Detached merge und replicate, gemischter Zugriff und @Column an übersetzten Attributen werden abgelehnt. Query-Caching wird abgelehnt; Second-Level-Caching wird für lokalisierte Entity-Hierarchien deaktiviert. Unabhängige Entities dürfen ihren Cache weiterhin verwenden.

Verwaltete Änderungen

Lade die Entity vor der Bearbeitung ihrer gewöhnlichen Felder in der Zielsprache. Neue Entities verwenden persist. Installiere vor dem Öffnen von Sessions immer alle lokalisierten Entities.