hbm2java 根據映射文件生成POJO的一個常見問題

 
 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章