From dasel
Queries Hibernate .hbm.xml files with Dasel v3 to extract entity-table bindings, property-to-column mappings, one-to-many relationships, many-to-one foreign keys, and batch scans across 60+ files. Use for auditing Java persistence schema metadata.
npx claudepluginhub jamie-bitflight/claude_skills --plugin daselThis skill uses the workspace's default tool permissions.
<when_to_use>
Master JPA/Hibernate - entity design, queries, transactions, performance optimization
Provides Dasel v3 selectors to query Spring bean factory XML for bean discovery, dependency wiring, JMS destination mapping, property injection extraction, and cross-bean reference tracing.
Provides JPA/Hibernate patterns for Spring Boot entity design, associations with N+1 prevention, repositories, transactions, auditing, pagination, indexing, performance tuning, and HikariCP pooling. Useful for data layer development and optimization.
Share bugs, ideas, or general feedback.
<when_to_use>
Load this skill when querying Hibernate .hbm.xml mapping files — extracting entity-table bindings, property-column mappings, collection relationships (set/list/bag), foreign key discovery, or running batch scans across an enterprise persistence layer with 60+ HBM files.
</when_to_use>
Domain skill for dasel v3 queries against Hibernate .hbm.xml mapping files.
Attribute syntax (required): XML attributes use - prefix in dasel friendly mode (default). name → -name, table → -table, column → -column.
Parser flag (required): Always pass -i xml explicitly. Do not rely on auto-detection for .hbm.xml files.
# Fully qualified Java entity class name
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.-name'
# Database table the entity maps to
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.-table'
# All mapped Java property names in the entity
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.property.map(-name)'
# All database column names for mapped properties
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.property.map(-column)'
<set>, <list>, <bag> — one-to-many relationships.
# All set collection names (one-to-many)
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.set.map(-name)'
# All list collection names
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.list.map(-name)'
<many-to-one> — foreign key columns pointing to other entities.
# All foreign key column names
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.many-to-one.map(-column)'
# All referenced entity class names (the FK target)
dasel -f User.hbm.xml -i xml 'hibernate-mapping.class.many-to-one.map(-class)'
Extract entity→table pairs across all .hbm.xml files. Write to /tmp/ — never to the source tree.
for f in $(fdfind -e hbm.xml .); do
entity=$(dasel -f "$f" -i xml 'hibernate-mapping.class.-name' 2>/dev/null)
table=$(dasel -f "$f" -i xml 'hibernate-mapping.class.-table' 2>/dev/null)
echo "$entity -> $table"
done > /tmp/entity_table_map.txt
Malformed files and missing attributes produce empty values via 2>/dev/null suppression.