如何使用Tables中的关联生成Hibernate Annotated Entity类

时间:2014-01-04 15:07:41

标签: database-design eclipse-plugin entity-relationship hibernate-mapping model-associations

我知道插件可以在eclipse中生成hibernate pojos和映射配置xml文件。因为使用aanotations的hibernate现在比hibernate xml文件使用得更多,我想知道我们如何为dmd文件中的表生成具有适当关联(OneToOne,OneToMany,ManyToOne,ManyToMany等)的实体类,这可以节省大量的开发工作量100 % 准确性。 因为我们可以使用dmd文件生成具有适当约束/索引等创建的所有数据库脚本。我希望有一种方法来生成实体类。

- 编辑 -

由于我没有找到从dmd文件生成带注释的enities的解决方案,所以想到从dmd文件生成表,然后使用hibernate工具插件来生成至少的实体类。

我可以从dmd文件生成表格。现在在eclipse(Juno)中使用Hibernate工具插件,按照

中编写好的步骤生成实体
http://www.mkyong.com/hibernate/how-to-generate-code-with-hibernate-tools/ and 
http://www.mkyong.com/hibernate/how-to-install-hibernate-tools-in-eclipse-ide/

点击An internal error occurred during: "Fetching children of Database".

后,我收到Hibernate code generation --> Run例外

详细的异常跟踪如下所示。 someoone可以告诉我如何修复此错误并生成文件。

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
    at org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect.getTables(OracleMetaDataDialect.java:218)
    at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:476)
    at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:74)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:126)
    at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
    at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:115)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
    at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

0 个答案:

没有答案