编辑:就像下面的答案所说,这是一个错误,而且其他人已经reported。
我正在尝试使用Hibernate Tools在我的项目中生成DTO(this is a question I opened yesterday about that task)。我在当前的Eclipse Neon实例中安装了Hibernate Tools,并解决了下面详细介绍的问题。
然后,我下载了整个JBoss Developer Studio安装程序并安装它,以确定我的Eclipse实例是否有问题。无济于事。
(注意:在Eclipse实例中使用EclipseLink,我可以从图中生成实体,从实体生成表)
我遇到的问题是在创建Hibernate配置时的错误日志视图(以及对话框)中出现此异常,即在下面的对话框窗口中单击“确定”按钮时:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:78)
at org.hibernate.tool.util.MetadataHelper.getMetadata(MetadataHelper.java:16)
at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.getMetadata(ConfigurationFacadeImpl.java:168)
at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.buildMappings(ConfigurationFacadeImpl.java:106)
at org.hibernate.console.ConsoleConfiguration$4.execute(ConsoleConfiguration.java:272)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108)
at org.hibernate.console.ConsoleConfiguration.buildMappings(ConsoleConfiguration.java:270)
at org.hibernate.eclipse.console.workbench.ConsoleConfigurationWorkbenchAdapter.getChildren(ConsoleConfigurationWorkbenchAdapter.java:44)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:231)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:72)
... 12 more
Caused by: java.lang.NullPointerException
at org.jboss.tools.hibernate.runtime.v_5_1.internal.JPAConfiguration.getMetadata(JPAConfiguration.java:36)
... 17 more
以下是配置的屏幕截图(除了在MySQL (InnoDB)
标签上设置为Options
的数据库对话框之外,我还没有触及其他选项。)
以下是我的hibernate.properties文件的内容:
hibernate.bytecode.use_reflection_optimizer=false
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=verbus
hibernate.connection.url=jdbc:mysql://localhost:3306/verbus
hibernate.connection.username=verbus
hibernate.ddl-auto=none
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.format_sql=true
hibernate.search.autoregister_listeners=true
hibernate.show_sql=true
hibernate.validator.apply_to_ddl=false
hibernate.default_entity_mode=pojo
hibernate.order_inserts=true
hibernate.order_updates=true
持久性单元存在,并使用Dali的JPA Diagram Editor组件创建和更新。
数据库是否为空或EclipseLink是否已生成表并不会改变事物。
我认为这是由于配置错误造成的,但除了标准异常之外,缺少错误消息的提示让我感到无助。
是否可以确定此错误的确切原因?
答案 0 :(得分:0)
这个问题是一个在此期间应该解决的问题。试用最新的Red Hat Developer Studio版本。问题仍然存在,请在https://issues.jboss.org打开JIRA问题。