今天在用Myeclipse 6.0 Jsf Hibernate 3.1生成Mapping文件时总是出现An internal error occurred during: "Generating Artifacts".
java.util.NoSuchElementException
An internal error occurred during: "Generating Artifacts".
java.util.NoSuchElementException
错误,重装了系统,重装了myeclipse依然!
数据库试了SQL2005 SQL2000 SP4 MySQL 5.0.41 问题依然存在!
之前用MySQL 5.0.41时没有问题
log信息为:
!ENTRY org.eclipse.core.jobs 4 2 2007-12-28 23:11:38.812
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$ValueIterator.next(Unknown Source)
at com.genuitec.eclipse.hibernate.tool.MESingleClassExporter.doStart(MESingleClassExporter.java:59)
at com.genuitec.eclipse.hibernate.tool.hbm2x.VAbstractExporter.start(VAbstractExporter.java:97)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$3.execute(GenerateArtifactsJob.java:529)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:56)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:89)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:408)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
希望大家指点

解决方案 »

  1.   

     我试了一下,用myeclipse 6.0 自带的derby生成mapping没有问题在databrower中,可以连得上MYSQL望高手指点
      

  2.   

    奇怪得很,我用PD生成SQL文件导入到数词库中,就可以生成mapping!
      

  3.   

    还有另一个问题,我的Hibernate无法写入数据,查询是没有问题的
    代码:
    BbsUser user = new BbsUser();
    BbsUserDAO dao = new BbsUserDAO();
    user.setUname(this.getUname());
    user.setUpsw(this.getUpsw());
    dao.save(user);
    System.out.println("success"+this.getUname()+this.getUpsw());
    其它文件为自动生成文件
                      能正常获得uname和upsw的值,执行后的信息为:
    2007-12-29 09:53:46,421 WARN [net.sf.ehcache.config.Configurator] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/D:/workspace/.metadata/.plugins/com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/mybbs/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
    save         这里是在DAO中打印的测试信息!我在getSession().save(userinstance);后加的一个打印方法
    successadminadmin
      

  4.   

    问题已解决,在DAO中加入一句就行了!
    getSession().save(transientInstance);
    getSession().beginTransaction().commit();
    log.debug("save successful");
      

  5.   

    能问一个问题伐
    我在用hibernate插入一条数据时,他提示我:java.lang.nullpointerexception这个错误
    我的HibernateTest.java程序:
    package org.redsaga.quickstart.Test;import java.io.File;
    import java.util.List;import org.redsaga.quickstart.Tuser;import net.sf.hibernate.HibernateException;
    import net.sf.hibernate.Session;
    import net.sf.hibernate.SessionFactory;
    import net.sf.hibernate.Transaction;
    import net.sf.hibernate.cfg.Configuration;import junit.framework.Assert;
    import junit.framework.TestCase;public class HibernateTest extends TestCase {
    Session session=null;
    static Tuser user1=null;
    protected void setup(){
    try{
    //采用hibernate.cfg.xml配置文件的初始化代码
     
    Configuration config =new Configuration().configure(new File("hibernate.cfg.xml"));
    SessionFactory sessionFactory=config.buildSessionFactory();
    session=sessionFactory.openSession();
    }
    catch(HibernateException e){
    e.printStackTrace();
    }
    } protected void tearDown(){
    try{
    session.close();
    }catch(HibernateException e){
    e.printStackTrace();
    }
    }

    // 对持久化insert测试方法
    public void testInset(){
    Transaction tran=null;
    try{
    tran=session.beginTransaction();

    user1=new Tuser();
    user1.setName("Emma");
    session.save(user1);
    session.flush();
    tran.commit();
    Assert.assertEquals(user1.getId().intValue()>0,true);

    }catch(HibernateException e){
    e.printStackTrace();
    Assert.fail(e.getMessage());
    if(tran!=null){
    try{
    tran.rollback();
    }catch(HibernateException e1){
    e1.printStackTrace();
    }
    }
    }

    }
    //对象读取select 测试
    /*public void testSelect(){
    String hql="from Tuser where name='Emma'";
    try{
    List userList=session.createQuery(hql).list();
    Tuser user=(Tuser)userList.get(0);
    Assert.assertEquals(user.getName(),"Emma");

    }catch(HibernateException e){
    e.printStackTrace();
    Assert.fail(e.getMessage());
    }
    }*/                         

    }Tuser.java程序:
    package org.redsaga.quickstart;import java.io.Serializable;
    import org.apache.commons.lang.builder.ToStringBuilder;
    /** 
     *        @hibernate.class
     *         table="T_USER"
     *     
    */
    public class Tuser implements Serializable {    /** identifier field */
        private Integer id=null;    /** persistent field */
        private String name=null;    /** full constructor */
        public Tuser(String name) {
            this.name = name;
        }    /** default constructor */
        public Tuser() {
        }    /** 
         *            @hibernate.id
         *             generator-class="sequence"
         *             type="java.lang.Integer"
         *             column="ID"
         *            @hibernate.generator-param
         *          name="sequence"
         *          value="user_sequence"
         *         
         */
        public Integer getId() {
            return this.id;
        }    public void setId(Integer id) {
            this.id = id;
        }    /** 
         *            @hibernate.property
         *             column="NAME"
         *             length="10"
         *             not-null="true"
         *         
         */
        public String getName() {
            return this.name;
        }    public void setName(String name) {
            this.name = name;
        }    public String toString() {
            return new ToStringBuilder(this)
                .append("id", getId())
                .toString();
        }}
    先谢过了