我正在研究一种基于的自动生成ExtJS表单的解决方案 一个hibernate映射(我使用基于@Annotations的hibernate逆向工程)。
Hibernate有一个
getPropertiesInterator()
这个功能。哪个可以这样访问
((LocalSessionFactoryBean)sessionFactory).getConfiguration().getClassMapping(<Classname>.class.getName())
列出了表的属性。我使用这些信息从中生成ExtJS输入
varchar =&gt;输入 text =&gt; textarea的 等
我的问题是,是否有其他(可能更好)的方法可以从我的休眠配置中获取此信息?
此致
JS
答案 0 :(得分:1)
我最终使用
ClassMetadata hibernateMetadata = session.getSessionFactory().getClassMetadata(fullClassName);
通过[String]
ClassName或Class.class
有了这些信息,你可以做这样的事情......
String[] propertyNames = hibernateMetadata.getPropertyNames();
Type[] propertyTypes = hibernateMetadata.getPropertyTypes();
稍后解析此信息。
见
了解更多信息。
Hibernate在他们的文档中甚至有一个例子......
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/objectstate.html#objectstate-metadata