Hibernate 自身在建立sessionfactory的时候,会用到configuration对象,这个里面可以访问getClassMapping和 getTableMapping信息,但是在建立sessionfactory后,就消失了这个对象,而且从sessionFactory里面也无法获取 configuration对象,现实开发人员也不希望我们直接访问configuration对象。
那么问题是,Hibernate 自己是如何在运行的期间取到自己的所需要的信息呢?比如关联,一些长度非空的校验,一些cascade等?因为configuration对 象,HIbernate 自身也没有在运行期持有,所以我想请教下hibernate 是从什么地方取到这些meta信息的。
sessionFactory 里面有个 getClassMeta 不过这个classmeta所提供的信息太少了只有类型,名称和是否为null。所以我觉得hibernate 一定有其他机制可以取到完整的meta 信息。请教下大家,hibernate 是怎么取到这些信息的。在程序中怎么调用的。谢谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
AbstractEntityPersister classMetadata = (SingleTableEntityPersister) factory.getClassMetadata(clazz);
所有的实体信息,表信息都包含在这个抽象类中。