您的位置:首页 > 编程语言 > Java开发

hbm2java 根据映射文件生成POJO的一个常见问题

2008-07-15 15:19 549 查看


E:/Workspace/hibernate-extensions-2.1/tools/bin>hbm2java e:/sample/org/hibernate/sample/*.xml --output=e:/sample/
2006-1-6 9:57:12 net.sf.hibernate.tool.hbm2java.Generator generate
信息: Generating 4 in e:/sample/java.lang.NullPointerException
at net.sf.hibernate.tool.hbm2java.BasicRenderer.isPropertySet(BasicRenderer.java:611)
at net.sf.hibernate.tool.hbm2java.BasicRenderer.generateConcreteEmptyClasses(BasicRenderer.java:332)
at net.sf.hibernate.tool.hbm2java.BasicRenderer.render(BasicRenderer.java:59)
at net.sf.hibernate.tool.hbm2java.Generator.write(Generator.java:138)
at net.sf.hibernate.tool.hbm2java.Generator.writeRecur(Generator.java:115)
at net.sf.hibernate.tool.hbm2java.Generator.generate(Generator.java:104)

at net.sf.hibernate.tool.hbm2java.CodeGenerator.main(CodeGenerator.java:125)

解决办法:
[转贴]http://forum.javaeye.com/viewtopic.php?p=88848&sid=fd7b783306f3efc4bf14f31a201479ee
java.lang.NullPointerException
at net.sf.hibernate.tool.hbm2java.BasicRenderer.isPropertySet(BasicRenderer.java:611)

曾看到很多人问这个问题,我今天看了一下源代码之后,把我的办法贴出来

错误是:
at net.sf.hibernate.tool.hbm2java.BasicRenderer.isPropertySet(BasicRende
rer.java:611)
你可以看看hbm2java的源代码(BasicRenderer.java),其中有这么一段:
private boolean generateConcreteEmptyClasses() {
return isPropertySet("generate-concrete-empty-classes");
}

如果property “generate-concrete-empty-classes“没有明确设置,则会错误.

自己编写一个文件(如config.xml)
<codegen>
<generate renderer="net.sf.hibernate.tool.hbm2java.BasicRenderer">
<param name="generate-concrete-empty-classes">false</param>
</generate>
</codegen>
这个文件随便放到什么地方,然后你启动hbm2java的时候(假如是用commandline启动的)
在hbm2java后面加一个参数:
--config=yourpath/config.xml

参考我的command:
D:/hibernate-extensions/tools/bin>hbm2java F:/program/ioffice/src/com/huizhi/iof
fice/bean/*.xml --output=F:/program/ioffice/src/ --confi
g=D:/hibernate-extensions/tools/bin/config.xml

结果:
E:/Workspace/hibernate-extensions-2.1/tools/bin>hbm2java e:/sample/org/hibernate/sample/*.xml --output=e:/sample/ --config=config.xml
2006-1-6 10:01:12 net.sf.hibernate.tool.hbm2java.Generator generate
信息: Generating 3 in E:/workspace/sample

Java文件正确生成。但这些警告还没具体了解。

Trackback: http://tb.donews.net/TrackBack.aspx?PostId=684917
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐