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

本文提供了解决使用Hibernate工具hbm2java生成Java文件时遇到NullPointerException错误的方法,通过配置文件调整参数解决了问题,并附上了生成Java文件成功的命令实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值