用途:该技能面向 Hibernate .hbm.xml 映射文件的查询场景,使用 dasel v3 从 XML 中提取实体与数据库表的绑定、Java 属性到列的映射、集合关系(set/list/bag)以及外键信息,也可用于对大型企业持久层(如 60+ HBM 文件)做批量扫描。
主要能力:可读取实体类的全限定 Java 类名与对应数据库表名;列出实体中所有映射的 Java 属性名及其数据库列名;提取 set、list、bag 等一对多集合的名称;通过 many-to-one 发现外键列名及被引用的目标实体类名。
必要用法:属性语法必须使用 - 前缀(dasel 友好模式默认),如 name 写作 -name、table 写作 -table、column 写作 -column。解析器标志必须显式传入 -i xml,不要依赖对 .hbm.xml 文件的自动检测。示例:cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.-name' 获取实体类名;cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.property.map(-column)' 获取属性列名;cat User.hbm.xml | dasel -i xml 'hibernate-mapping.class.many-to-one.map(-class)' 获取外键目标实体。批量扫描可遍历 .hbm.xml 文件,将实体到表的映射输出到 /tmp/,不要写入源码树。
限制:格式错误的文件或缺失属性会因 2>/dev/null 抑制而返回空值;资料未提供其他平台、收费或效果信息。