Ich verwende derzeit Hibernate & Envers Version 5.2.9.Final. Ich möchte @ElementCollection mit einem benutzerdefinierten Tabellenname für die Sammlung und die Audit-Tabelle verwenden.Wie Anpassen von Hibernate @ElementCollection envers Audit Tabellenname?
Was ich bisher weiß, ist, dass Standard-Tabellennamen Modifizieren einer Vielzahl von Anmerkungen hat, mit zu arbeiten: Für die Unternehmen selbst gibt es die Anmerkungen @Table und @SecondaryTable sowie die entsprechenden envers Anmerkungen @AuditTable und @SecondaryAuditTable. Zum Ändern des Tabellennamens einer Elementsammlung gibt es die Annotation @CollectionTable. Ich konnte bisher noch keine entsprechende envers-Annotation finden. Also meine Frage ist:
Wie kann ich den Namen für eine Hibernate @ElementCollection Envers Audit-Tabelle ändern?
Zusatzinfo
Im hibernate envers ticket which tracks the adding of auditing support für Element Sammlungen wurde die gleiche Frage im Jahr 2013 fragt zurück, aber nicht beantwortet.
Ein Code-Schnipsel zu meinem Setup deutlich zu machen:
@Entity
@Table(name = "\"user\"")
@SecondaryTable(name = "\"user_secondary\"")
@Audited
@AuditTable("\"user_audit\"")
@SecondaryAuditTable(secondaryTableName = "user_secondary",
secondaryAuditTableName = "\"user_secondary_audit\"")
public class User {
// ... stuff like id and other fields ...
@ElementCollection
@CollectionTable(name = "\"user_references\"")
private Map<String, Long> references = new HashMap<>();
// TODO FIXME how to get a custom name for the audit table?
// ... more stuff like getters and setters
}
Hibernate generiert alle Tabellen, wie beabsichtigt, noch die collecction Audit-Tabelle wird dem Namen 'user_references_AUD' während würde ich wie das bekommen Name 'user_references_audit' wie für die anderen Tabellen.
Ich bin auch bewusst die globalen Einstellungen beeinflussen die Audit-Tabelle Präfix oder Suffix, aber das ist nur ein letzter Ausweg für meinen Anwendungsfall.
aktualisieren
Wie schlug ich einen feature request hinzugefügt JIRA Hibernate.
Vielen Dank für Ihre Antwort und das Angebot! Ich wollte das sowieso machen, aber zuerst musste ich mich registrieren. Also hier ist die Feature-Anfrage: https://hibernate.atlassian.net/browse/HHH-11595 – l00tr