Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate不创建Java类。我能做什么?_Java_Oracle_Hibernate_Netbeans - Fatal编程技术网

Hibernate不创建Java类。我能做什么?

Hibernate不创建Java类。我能做什么?,java,oracle,hibernate,netbeans,Java,Oracle,Hibernate,Netbeans,我正在使用NetBeans 6.5.1和Hibernate 3.2.5 我通过使用一个不同的现有数据库(Oracle 10g XE)逐步实现了这一点。配置文件的创建以及HibernateUtil.java类的创建工作正常。然后,教程希望我运行反向工程向导,但该向导不存在。相反,我使用的是“Hibernate映射文件和数据库中的POJO” 在这里,我选择了要映射的表,并启用了“JDK5语言特性”、“域代码”和“HibernateXML映射”。选择包并单击finished之后,将创建“hiberna

我正在使用NetBeans 6.5.1和Hibernate 3.2.5

我通过使用一个不同的现有数据库(Oracle 10g XE)逐步实现了这一点。配置文件的创建以及HibernateUtil.java类的创建工作正常。然后,教程希望我运行反向工程向导,但该向导不存在。相反,我使用的是“Hibernate映射文件和数据库中的POJO”

在这里,我选择了要映射的表,并启用了“JDK5语言特性”、“域代码”和“HibernateXML映射”。选择包并单击finished之后,将创建“hibernate.reveng.xml”文件,仅此而已

没有Java类,NetBeans不会提示我为什么不创建任何内容。怎么了?我是否遗漏了什么,下一步该怎么办

加:
展示了它应该如何与6.5配合使用(是的,我知道,…beta版)。要执行的步骤与我执行的步骤完全相同,但仍然没有创建任何类。

是否创建了Hibernate.cfg.xml?我想是的,尽管我并没有阅读整个教程来找出答案。从您描述的内容来看,您正在使用插件/工具来生成映射

确保您的hibernate.cfg.xml配置正确。节省生命。 安装记录器还可以帮助您指出哪里出了问题。(公共日志或log4j)


如果您真的想使用hibernate,请使用maven/ant并生成您的映射,以及HibernateTools中您想要的任何东西(在maven中就是这样)。它最终会为你节省很多时间和麻烦。我不确定netbeans使用什么来生成这些,但我在6.8中尝试过,与maven给我的结果相比,结果非常完美。

我使用NB 6.9.1也遇到了同样的问题。经过进一步搜索,该版本中似乎存在已知的bug

然而,我并不完全满意(答案是“它是一个bug”),我在NB6.8中尝试了它,并得到了同样的问题。在按照教程末尾题为“分别创建POJO和映射文件”的部分手动创建POJO和映射文件后,我继续学习教程的其余部分,并在尝试测试HQL时出错。这实际上突出显示了本教程开头使用的Hibernate配置文件编辑器中的一个错误:

在“修改Hibernate配置文件”一节中,教程要求在Hibernate.cfg.xml的Miscellaneous Properties节点中添加一个属性。如果您按照说明并按照教程手动键入属性值,那么一切都会很好,但是如果-像我一样-您有点懒惰;-)并使用Netbeans编辑器的“设计”选项卡编辑此属性,然后从下拉列表中选择值“org.hibernate.hql.classic.ClassicQueryTranslatorFactory”,而不是输入值“org.hibernate.hql.classic.ClassicQueryTransactionFactory”。看起来很相似,但事实上,没有!,编辑有一个拼写错误:即它说的是“事务”而不是“翻译”

当我更正此错误时(即,将属性值设置为:

<property name="hibernate.query.factory_class">
    org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>

org.hibernate.hql.classic.ClassicQueryTranslatorFactory
而且(重要的是,我相信)重建了项目(我想我可能也重新启动了Netbeans,虽然我确信这不是严格必要的),突然“Hibernate映射文件和POJO”向导开始支持它!这在NB6.8和NB6.9.1中对我都有效。因此,现在我可以删除所有sakila.entity.*pojo和resources/sakila.entity.*映射文件(并删除它在hibernate.cfg.xml文件中创建的
条目)瞧!映射和POJO向导将再次为我创建它们,没有问题

希望有帮助


Brian

教程中说至少要使用Netbeans 6.8或更高版本。因此,我建议更新你的Netbeans,它可能会很好地工作。这可能会工作,但这不是我要寻找的解决方案。我正在为使用所有应用程序6.5.1的客户创建一个web应用程序,因此6.8+目前不是一个选项。Th必须有一种方法让类在6.5.1中生成。以防万一,谢谢,但它与第二个教程相同。但是很高兴知道,这个版本有一个官方的Netbeans教程。问题仍然是:没有类。似乎配置文件有问题。因此,我创建了一个新项目,con正确地理解了它,现在它确实可以工作了。配置可能是个麻烦,因此我不喜欢绑定IDE。