Generating Artifacts问题解决汇总

今天在对一个表生成映射文件的时候,都出现“generating artifacts"的问题,查看workspace\.metadata\.log,会发现错误原因:

org.hibernate.exception.GenericJDBCException: Getting database metadataat org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)at org.hibernate.cfg.reveng.dialect.AbstractMetaDataDialect.getMetaData(AbstractMetaDataDialect.java:64)at org.hibernate.cfg.reveng.dialect.AbstractMetaDataDialect.caseForSearch(AbstractMetaDataDialect.java:163)at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:22)at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:476)at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:74)at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:104)at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:89)at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:137)at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$7.execute(GenerateArtifactsJob.java:877)at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:65)at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:91)at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:858)at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:405)at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)Caused by: java.sql.SQLException: Access denied for user’root’@’localhost'(using password: YES)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2412)at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2230)at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)at org.hibernate.console.FakeDelegatingDriver.connect(FakeDelegatingDriver.java:40)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)at org.hibernate.cfg.reveng.dialect.AbstractMetaDataDialect.getConnection(AbstractMetaDataDialect.java:122)at org.hibernate.cfg.reveng.dialect.AbstractMetaDataDialect.getMetaData(AbstractMetaDataDialect.java:61)… 13 more

解决方案:

关闭MyEclipse,重新启动一下,然后再做一次数据库表的映射就没问题了。

—————————————————————————————————–

在myeclipse中使用hibernate进行“Hibernate Reverse Engineering”报如下错:!ENTRYorg.eclipse.core.jobs 4 2 2010-12-27 14:20:11.625!MESSAGE An internal erroroccurred during: "Generating Artifacts".!STACK0java.lang.IllegalArgumentException: Path must include project and resourceorg.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:1631)atorg.eclipse.core.internal.resources.Container.getFile(Container.java:123)atcom.genuitec.eclipse.hibernate.util.HibernateUtils.getConfigFile(HibernateUtils.java:510)atcom.genuitec.eclipse.hibernate.util.HTUtils.getConsoleConfigurationPreferences(HTUtils.java:184)atcom.genuitec.eclipse.hibernate.util.HTUtils.getConsoleConfiguration(HTUtils.java:175)atcom.genuitec.eclipse.hibernate.util.HTUtils.getConsoleConfiguration(HTUtils.java:165)atcom.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:361)atorg.eclipse.core.internal.jobs.Worker.run(Worker.java:55)解决方案:修改.myhibernatedata(工程下)文件里面的configFile属性指定applicationContext.xml路径。格式是/项目名称/路径/applicationContext.xml.myhibernatedata文件genBasicCompId=truesessionFactoryName=liss.samples.myssh2.domain.HibernateSessionFactoryprofile=daoSFId=version=3.3jndiPath=springDaoFile=useJavaTypes=truekeyGenerator=incrementlibInstallFolder=addLibs2Project=falsegenVersionTag=truesessionFactoryId=basePersistenceClass=reSettingsFile=/myssh2/hibernate.reveng.xmlconfigFile=/myssh2/conf/applicationContext.xmlcreateConfigFile=falseaddLibs2Classpath=falsebaseDaoClass=BaseHibernateDAO

———————————————————————————————————————-在泪水中浸泡过的微笑最灿烂,从迷惘中走出来的灵魂最清醒。

Generating Artifacts问题解决汇总

相关文章:

你感兴趣的文章:

标签云: