开发者社区> 问答> 正文

关于 Hibernate 读取bean的配置meta信息,例如 表列,精度,PKFK 非空默认等

Hibernate 自身在建立sessionfactory的时候,会用到configuration对象,这个里面可以访问getClassMapping和 getTableMapping信息,但是在建立sessionfactory后,就消失了这个对象,而且从sessionFactory里面也无法获取 configuration对象,现实开发人员也不希望我们直接访问configuration对象。

那么问题是,Hibernate 自己是如何在运行的期间取到自己的所需要的信息呢?比如关联,一些长度非空的校验,一些cascade等?因为configuration对 象,HIbernate 自身也没有在运行期持有,所以我想请教下hibernate 是从什么地方取到这些meta信息的。

sessionFactory 里面有个 getClassMeta 不过这个classmeta所提供的信息太少了只有类型,名称和是否为null。所以我觉得hibernate 一定有其他机制可以取到完整的meta 信息。请教下大家,hibernate 是怎么取到这些信息的。在程序中怎么调用的。谢谢。

展开
收起
爵霸 2016-03-04 14:29:22 2260 0
1 条回答
写回答
取消 提交回答
  • AbstractEntityPersister classMetadata = (SingleTableEntityPersister) factory.getClassMetadata(clazz);

    所有的实体信息,表信息都包含在这个抽象类中。

    2019-07-17 18:52:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载