Hibernate通过实体对象对应数据库表信息

本文深入探讨了Hibernate框架中实体对象与数据库表的映射机制,包括如何获取实体名称、映射表名、主键列及非主键字段信息。通过具体代码示例,展示了如何利用Hibernate的AbstractEntityPersister类进行实体映射信息的获取。

Hibernate通过实体对象对应数据库表信息,包括:数据库表名称、主键列名、非主键列名等。

 

获取对象映射缓存管理类:

AbstractEntityPersister aep = (AbstractEntityPersister)getSessionFactory().getClassMetadata(model.getClass());

获取对象名称:

String entityName = aep.getEntityName();

获取映射表名:

String tableName = aep.getTableName();

获取主键列映射属性:

String pkAttr = aep.getIdentifierPropertyName();

获取主键列名:

String[] pkCols = aep.getIdentifierColumnNames();

获取非主键属性:

String[] properties = aep.getPropertyNames();

获取非主键字段名称:

for(int idx=0; idx<properties.length; idx++) {
    // 通过索引获取列名
    String[] colname = aep.getPropertyColumnNames(idx);
    // 通过属性名称获取列名
    String propertyName = properties[idx];
    colname = aep.getPropertyColumnNames(propertyName);
}

 

参考网址:

https://www.cnblogs.com/lmjk/articles/4127664.html

https://www.cnblogs.com/itmyhome/p/4131396.html

转载于:https://www.cnblogs.com/xusweeter/p/10527101.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值