扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年8月21日
关键字: Hibernate
这个工具会把XML映射写入到标准输出或者/并且到一个文件中去。
在调用这个工具的时候,你必须把你编译过的类放到classpath中去。
java -cp hibernate_and_your_class_classpaths net.sf.hibernate.tool.class2hbm.MapGenerator options and classnames
有两种操作模式:命令行或者交互式。
交互式模式当你使用一个惟一的命令行参数--interact的时候启动。这个模式提供一个命令控制台。你可以用uid=XXX命令设置每个类的UID属性的名字,XXX就是UID属性名。其他可用的命令就是类名的全限定名,或者“done”命令用来输出XML,并且结束。
在命令行模式下,下面的参数选项和所需处理的类的全限定名可以相互间隔使用。大多数选项会使用多次,每个只影响其后出现的类。
表 15.7. MapGenerator命令行选项
选项 | 说明 |
---|---|
--quiet | 不把O-R 映射输出到stdout |
--setUID=uid | 设置备选UID名单 |
--addUID=uid | 在备选UID名单前面增加一个新的uid |
--select=mode | 对后面的classes使用select选择的模式(mode)(比如, distinct 或者all) |
--depth=<small-int> | 限制后面的类的组件数据递归层数 |
--output=my_mapping.xml | 把O-R 映射输出到一个文件 |
full.class.Name | 把这个类加入到映射中 |
--abstract=full.class.Name | 参见下面的说明 |
abstract开关指定本工具忽略特定的超类,所以它的继承数上的类不会被映射到一个大表中去。比如,我们来看下面的类继承树:
Animal-->Mammal-->Human
Animal-->Mammal-->Marsupial-->Kangaroo
如果不使用--abstract开关,Animal的所有子类都会被放到一个巨大的表中去,包含所有类的所有属性,还有一个用于分辨子类的字段。如果Mammal被标记成abstract,Human和Marsupial会被映射到不同的<class>声明,并且会有各自单独的表。Kangaroo仍然会被认为是Marsupial的子类,除非Marsupial也标记为anstract的。
查看本文来源如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者