Hibernate HBM Mapping-Abfragen
<when_to_use>
Laden Sie dieses Skill-Paket, wenn Sie Hibernate .hbm.xml-Mapping-Dateien abfragen – Extrahieren von Entity-Table-Bindungen, Property-Column-Mappings, Collection-Beziehungen (Set/List/Bag), Foreign-Key-Erkennung oder Batch-Scans über eine Unternehmens-Persistenzschicht mit 60+ HBM-Dateien durchführen.
</when_to_use>
Domain-Skill für dasel v3-Abfragen gegen Hibernate .hbm.xml-Mapping-Dateien.
Attribut-Syntax (erforderlich): XML-Attribute verwenden im Standardmodus von dasel (friendly mode) das --Präfix. name → -name, table → -table, column → -column.
Parser-Flag (erforderlich): Übergeben Sie immer explizit -i xml. Verlassen Sie sich nicht auf die Auto-Erkennung für .hbm.xml-Dateien.
Entity-Erkennung
# Vollqualifizierter Java-Entity-Klassenname
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.-name'
# Datenbanktabelle, auf die die Entity abbildet
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.-table'
Property-Column-Mapping
# Alle gemappten Java-Property-Namen in der Entity
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.property.map(-name)'
# Alle Datenbank-Spaltennamen für die gemappten Properties
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.property.map(-column)'
Collection-Beziehungen
<set>, <list>, <bag> – One-to-Many-Beziehungen.
# Alle Set-Collection-Namen (One-to-Many)
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.set.map(-name)'
# Alle List-Collection-Namen
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.list.map(-name)'
Foreign-Key-Erkennung
<many-to-one> – Fremdschlüsselspalten, die auf andere Entitäten verweisen.
# Alle Fremdschlüssel-Spaltennamen
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.many-to-one.map(-column)'
# Alle referenzierten Entity-Klassennamen (das FK-Ziel)
cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.many-to-one.map(-class)'
Batch-Entity-Table-Mapping
Extrahiert Entity→Table-Paare aus allen .hbm.xml-Dateien. Schreiben Sie nach /tmp/ – niemals in das Quellverzeichnis.
for f in $(fdfind -e hbm.xml .); do
entity=$(cat "$f" | dasel -i xml 'hibernate-mapping.class.-name' 2>/dev/null)
table=$(cat "$f" | dasel -i xml 'hibernate-mapping.class.-table' 2>/dev/null)
echo "$entity -> $table"
done > /tmp/entity_table_map.txt
Fehlerhafte Dateien und fehlende Attribute erzeugen durch 2>/dev/null-Unterdrückung leere Werte.