hibernate tools生成带有中文注释的实体类错误排查

花了一上午找hibernate tools工具生成实体类时为什么没有生成带有中文注释的实体类?

找问题的思路:

1.在网上找资料,发现一个比较重要的信息:hibernate模板可以自定义,并且定义完后,打包成hibernate-tools.jar。存放的目录:%插件的HOME%\eclipse\plugins\org.hibernate.eclipse_3.2.4.GA-R200905070146-H18\lib\tools。

2.使用反编译工具,反编译这个jar包

 程序员的直觉应该要看看pojo这个文件。然后使用UE打开pojoFields.ftl。发现里面的注释更实体类上的结构一致。

然后找,pojo是从哪来的?

打开hibernate-tools.jar寻找,在custom下面找到

 发现确实会去加载wordfile.properties这个文件,读取的路径是:

InputStream is = BuilderHelper.class.getClassLoader().getResourceAsStream(fileName);

 而且还有日志:
 

 FileLogger.println("Load wordfile " + fileName);

然后查找日志存放的位置

file = new File(System.getProperty("java.io.tmpdir"), "HibernateTools.log");

 找的是本机的临时文件夹。最后查看这个文件,这个文件里面却是加载了我要的文件,但是生成的实体类没有生效。难道是还有别的这个文件,我在整个eclipse下面查找,结果真的找到这个。然后一看才知道。我的eclipse里面有两个hibernate tools的工具。eclipse默认加载了另一个!!!

至此,问题解决!!!!

猜你喜欢

转载自zc985552943.iteye.com/blog/2034441