精华内容
下载资源
问答
  • [584644b90744af1f,,584644b90744af1f,1561] ERROR o.h.i.ExceptionMapperStandardImpl - HHH000346: Error during managed flush [Row was updated or deleted by another transaction (or unsaved-value mapping

    现象

         2021-11-22 09:18:44.497 [http-nio-27601-exec-10] [584644b90744af1f,,584644b90744af1f,1561] ERROR o.h.i.ExceptionMapperStandardImpl - HHH000346: Error during managed flush [Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xxx.project.common.module.xxx.po.TmsVehicleDetailPO#9450]]
    

    背景
    使用jpa进行查询数据,然后使用mybatis或者jpa 保存的时候,由于业务复杂,有两个地方调用了save,出现上面的报错。

    原因
    jpa如果开启了事务,如何查询了某个对象,然后进行修改对象的时候,会对这个对象进行自动保存(即使没有调用save方法)。

    解决
    把jpa的方法修改成了Mybatis的,查询和保存都修改为mybatis的。

    展开全文
  • 去查看Build Path中的Libraies里是否还有JDK包,如果有可能是版本不兼容。

    去查看Build Path中的Libraies里是否还有JDK包,如果有可能是版本不兼容。

    展开全文
  • org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.bwol.pm.project.entity.Attach at org.hibernate.engine....

    问题内容:

    在一个hibernate项目中,为一个Model类添加一个多对一的配置 当表单中选择数据时对其多对一对象进行保存操作,没有选择的话则不对其做任何操作,如下面代码:当Attach不为空的情况下对多对一对象进行set操作,当Attach为null的情况下不做任何操作。最后进行保存CaseMain Model类的数据。

    			Long attachId = caseMain.getAttach().getId();
    			Attach attach = null;
    			if(attachId != null){
    				attach = attachService.getById(attachId);
    				caseMain.setAttach(attach);
    			}
    			caseMainService.save(caseMain)
    

    hibernate的CaseMain.hbm.xml配置如下

            <many-to-one name="attach" class="com.bwol.pm.project.entity.Attach" fetch="select">
                <column name="ATTACH_ID" precision="16" scale="0" />
            </many-to-one>
    

    前台表单不选择需求(Attach)也就是Attach == null的情况 就会报如下错误:

    org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.bwol.pm.project.entity.Attach
    at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:249)
    at org.hibernate.type.EntityType.getIdentifier(EntityType.java:510)
    at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:309)
    at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:319)
    at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:294)

    问题分析:

    如果配置多对一他会自动创建关联的外键,当你不对其进行任何操作是就会报如上的错误。

    解决方式:

    如果表单没有选择Attach 也对其进行set操作,也就是caseMain set一个Attach = null的值,如下图代码所示:

    			Long attachId = caseMain.getAttach().getId();
    			Attach attach = null;
    			if(attachId != null){
    				attach = attachService.getById(attachId);
    			}
    			caseMain.setAttach(attach);
    

    按照上述方式进行修改成功将问题解决。我看网上各种修该配置都不好使,特此感谢 csdn作者 machinecat0898 写的一篇博客 https://blog.csdn.net/machinecat0898/article/details/42425427 提供解决方案。

    展开全文
  • saveorUpdate与unsaved-value

    2010-08-01 22:58:28
    一、saveorUpdate与unsaved-value 到底是sava还是update Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象还是临时对象。 1).主键Hibernate的id generator产生 Project ...
    一、saveorUpdate与unsaved-value 
    
    到底是sava还是update
    Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象还是临时对象。
    1).主键Hibernate的id generator产生
    <id name="id" type="java.lang.Long">
    <column name="ID" precision="22" scale="0" />
    <generator class="increment" />
    </id>

    Project project = new Project();
    project.setId(XXX);
    this.projectDao.saveOrUpdate(project);

    1、默认unsaved-value="null"
    主键是对象类型,hebernate判断project的主键是否位null,来判断project是否已被持久化
    是的话,对project对象发送save(project),
    若自己设置了主键则直接生成update的sql,发送update(project),即便数据库里没有那条记录。
    主键是基本类型如int/long/double/
    自己设置unsaved-null="0"。
    所以这样的话save和update操作肯定不会报错。

    2、unsaved-value="none",
    由于不论主键属性为任何值,都不可能为none,因此Hibernate总是对project对象发送update(project)

    3、unsaved-value="any"
    由于不论主键属性为任何值,都肯定为any,因此Hibernate总是对project对象发送save(project),hibernate生成主键。

    Hibernate文档中写到
    saveOrUpdate()完成了如下工作:
    如果对象已经在这个session中持久化过了,什么都不用做
    如果对象没有标识值,调用save()来保存它
    如果对象的标识值与unsaved-value中的条件匹配,调用save()来保存它
    如果对象使用了版本(version或timestamp),那么除非设置unsaved-value="undefined",版本检查会发生在标识符检查之前.
    如果这个session中有另外一个对象具有同样的标识符,抛出一个异常

    2).主键由自己来赋值
    <id name="id" type="java.lang.Long">
    <column name="ID" precision="22" scale="0" />
    <generator class="assigned" />
    </id>

    Project project = new Project();
    project.setId(XXX);
    this.projectDao.saveOrUpdate(project);

    1、默认unsaved-value="null"
    这时有所不同,hibernate会根据主键产生一个select,来判断此对象是否已被持久化
    已被持久化则update,未被持久化则save。
    2、unsaved-value="none",update对象,同上

    3、unsaved-value="any" ,save对象,
    如果自己自己设置的ID在数据库中已存在,则报错。

    二、save与update操作
    显式的使用session.save()或者session.update()操作一个对象的时候,实际上是用不到unsaved-value的
    在同一Session,save没什么可说得
    update对象时, 最直接的更改一个对象的方法就是load()它,保持Session打开,然后直接修改即可:
    Session s =…
    Project p = (Project) sess.load(Project.class, id) );
    p.setName(“test”);
    s.flush();
    不用调用s.update(p);hibernate能察觉到它的变化,会自动更新。当然显示调用的话也不会错

    Hibernate文档中写到
    update()方法在下列情形下使用:
    程序在前面的session中装载了对象
    对象被传递到UI(界面)层
    对该对象进行了一些修改
    对象被传递回业务层
    应用程序在第二个session中调用update()保存修改



    三、delete操作
    删除时直接自己构造一个project即可删除
    this.projectDao.delete(preojct);

    以前删除我是这样写的
    public void deleteProject(String id) {
    Project project = (Project) this.projectDao.get(Project.class, id);
    if (project != null) {
    this.projectDao.delete(project);
    }
    即这样也是可以的
    Project project = new Project();
    project.setId(id);
    this.projectDao.delete(project).

    如果有级联关系,需要把级联的子类也构造出来add进去,同样可以删除。

    另外今天在 javaEye网站上发现一篇很好的帖子:

    ——————————————————《saveOrupdate方法如何使用 》——————————————————

    假设你的PO不需要跨Session的话,那么就不需要用到,例如你打开一个Session,对PO进行操作,然后关闭,之后这个PO你也不会再用到了,那么就不需要用update。

    因此,我们来看看:
    Java代码
    Foo foo=sess.load(Foo.class,id);;
    foo.setXXX(xxx);;
    sess.flush();;
    sess.commit();;

    Foo foo=sess.load(Foo.class,id);;
    foo.setXXX(xxx);;
    sess.flush();;
    sess.commit();;

    PO对象foo的操作都在一个Session生命周期内完成,因此不需要显式的进行sess.update(foo)这样的操作。Hibernate会自动监测到foo对象已经被修改过,因此就向数据库发送一个update的sql。当然如果你非要加上sess.update(foo)也不会错,只不过这样做没有任何必要。

    而跨Session的意思就是说这个PO对象在Session关闭之后,你还把它当做一个VO来用,后来你在Session外面又修改了它的属性,然后你又想打开一个Session,把VO的属性修改保存到数据库里面,那么你就需要用update了。

    Java代码
    // in the first session
    Cat cat = (Cat); firstSession.load(Cat.class, catId);;
    Cat potentialMate = new Cat();;
    firstSession.save(potentialMate);;

    // in a higher tier of the application
    cat.setMate(potentialMate);;

    // later, in a new session
    secondSession.update(cat);; // update cat
    secondSession.update(mate);; // update mate

    // in the first session
    Cat cat = (Cat); firstSession.load(Cat.class, catId);;
    Cat potentialMate = new Cat();;
    firstSession.save(potentialMate);;

    // in a higher tier of the application
    cat.setMate(potentialMate);;

    // later, in a new session
    secondSession.update(cat);; // update cat
    secondSession.update(mate);; // update mate

    cat和mate对象是在第一个session中取得的,在第一个session关闭之后,他们就成了PO的第三种状态,和Session已经detached的PO,此时他们的状态信息仍然被保留下来了。当他们进入第二个session之后,立刻就可以进行状态的更新。但是由于对cat的修改操作:cat.setMate(potentialMate); 是在Session外面进行的,Hibernate不可能知道cat对象已经被改过了,第二个Session并不知道这种修改,因此一定要显式的调用secondSession.update(cat); 通知Hibernate,cat对象已经修改了,你必须发送update的sql了。

    所以update的作用就在于此,它只会被用于当一个PO对象跨Session进行状态同步的时候才需要写。而一个PO对象当它不需要跨Session进行状态管理的时候,是不需要写update的。

    再谈谈saveOrUpdate的用场:

    saveOrUpdate和update的区别就在于在跨Session的PO状态管理中,Hibernate对PO采取何种策略。

    例如当你写一个DAOImpl的时候,让cat对象增加一个mate,如下定义:
    Java代码
    public void addMate(Cat cat, Mate mate); {
    Session session = ...;
    Transacton tx = ...;
    session.update(cat);;
    cat.addMate(mate);;
    tx.commit();;
    session.close();;
    };

    public void addMate(Cat cat, Mate mate); {
    Session session = ...;
    Transacton tx = ...;
    session.update(cat);;
    cat.addMate(mate);;
    tx.commit();;
    session.close();;
    };

    显然你是需要把Hibernate的操作封装在DAO里面的,让业务层的程序员和Web层的程序员不需要了解Hibernate,直接对DAO进行调用。

    此时问题就来了:上面的代码运行正确有一个必要的前提,那就是方法调用参数cat对象必须是一个已经被持久化过的PO,也就是来说,它应该首先从数据库查询出来,然后才能这样用。但是业务层的程序员显然不知道这种内部的玄妙,如果他的业务是现在增加一个cat,然后再增加它的mate,他显然会这样调用,new一个cat对象出来,然后就addMate:

    Java代码
    Cat cat = new Cat();;
    cat.setXXX();;
    daoimpl.addMate(cat,mate);;

    Cat cat = new Cat();;
    cat.setXXX();;
    daoimpl.addMate(cat,mate);;

    但是请注意看,这个cat对象只是一个VO,它没有被持久化过,它还不是PO,它没有资格调用addMate方法,因此调用addMate方法不会真正往数据库里面发送update的sql,这个cat对象必须先被save到数据库,在真正成为一个PO之后,才具备addMate的资格。

    你必须这样来操作:

    Java代码
    Cat cat = new Cat();;
    cat.setXXX();;
    daoimpl.addCat(cat);;
    daoimpl.addMate(cat, mate);;

    Cat cat = new Cat();;
    cat.setXXX();;
    daoimpl.addCat(cat);;
    daoimpl.addMate(cat, mate);;

    先持久化cat,然后才能对cat进行其他的持久化操作。因此要求业务层的程序员必须清楚cat对象处于何种状态,到底是第一种,还是第三种。如果是第一种,就要先save,再addMate;如果是第三种,就直接addMate。

    但是最致命的是,如果整个软件分层很多,业务层的程序员他拿到这个cat对象也可能是上层Web应用层传递过来的cat,他自己也不知道这个cat究竟是VO,没有被持久化过,还是已经被持久化过,那么他根本就没有办法写程序了。

    所以这样的DAOImpl显然是有问题的,它会对业务层的程序员造成很多编程上的陷阱,业务层的程序员必须深刻的了解他调用的每个DAO对PO对象进行了何种状态管理,必须深刻的了解他的PO对象在任何时候处于什么确切的状态,才能保证编程的正确性,显然这是做不到的,但是有了saveOrUpdate,这些问题就迎刃而解了。

    现在你需要修改addMate方法:

    Java代码
    public void addMate(Cat cat, Mate mate); {
    Session session = ...;
    Transacton tx = ...;
    session.saveOrUpdate(cat);;
    cat.addMate(mate);;
    tx.commit();;
    session.close();;
    };

    public void addMate(Cat cat, Mate mate); {
    Session session = ...;
    Transacton tx = ...;
    session.saveOrUpdate(cat);;
    cat.addMate(mate);;
    tx.commit();;
    session.close();;
    };

    如上,如果业务层的程序员传进来的是一个已经持久化过的PO对象,那么Hibernate会更新cat对象(假设业务层的程序员在Session外面修改过cat的属性),如果传进来的是一个新new出来的对象,那么向数据库save这个PO对象。

    BTW: Hibernate此时究竟采取更新cat对象,还是save cat对象,取决于unsave-value的设定。

    这样,业务层的程序员就不必再操心PO的状态问题了,对于他们来说,不管cat是new出来的对象,只是一个VO也好;还是从数据库查询出来的的PO对象也好,全部都是直接addMate就OK了:

    Java代码
    daoimple.addMate(cat, mate);;

    daoimple.addMate(cat, mate);;

    这便是saveOrUpdate的作用。

    ————————————————-精华帖子————————————————————
    当你显式的使用session.save()或者session.update()操作一个对象的时候,实际上是用不到unsaved-value的。某些情况下(父子表关联保存),当你在程序中并没有显式的使用save或者update一个持久对象,那么Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象,是一个尚未被持久化过的内存临时对象。例如:

    Java代码
    Session session = ...;
    Transaction tx = ...;

    Parent parent = (Parent); session.load(Parent.class, id);;

    Child child = new Child();;
    child.setParent(parent);;
    child.setName("sun");;

    parent.addChild(child);;
    s.update(parent);;

    s.flush();;
    tx.commit();;
    s.close();;

    Session session = ...;
    Transaction tx = ...;

    Parent parent = (Parent); session.load(Parent.class, id);;

    Child child = new Child();;
    child.setParent(parent);;
    child.setName("sun");;

    parent.addChild(child);;
    s.update(parent);;

    s.flush();;
    tx.commit();;
    s.close();;

    在上例中,程序并没有显式的session.save(child); 那么Hibernate需要知道child究竟是一个临时对象,还是已经在数据库中有的持久对象。如果child是一个新创建的临时对象(本例中就是这种情况),那么Hibernate应该自动产生session.save(child)这样的操作,如果child是已经在数据库中有的持久对象,那么Hibernate应该自动产生session.update(child)这样的操作。

    因此我们需要暗示一下Hibernate,究竟child对象应该对它自动save还是update。在上例中,显然我们应该暗示Hibernate对child自动save,而不是自动update。那么Hibernate如何判断究竟对child是save还是update呢?它会取一下child的主键属性 child.getId() ,这里假设id是 java.lang.Integer类型的。如果取到的Id值和hbm映射文件中指定的unsave-value相等,那么Hibernate认为child是新的内存临时对象,发送save,如果不相等,那么Hibernate认为child是已经持久过的对象,发送update。

    unsaved-value="null" (默认情况,适用于大多数对象类型主键 Integer/Long/String/...)

    当Hibernate取一下child的Id,取出来的是null(在上例中肯定取出来的是null),和unsaved-value设定值相等,发送save(child)

    当Hibernate取一下child的id,取出来的不是null,那么和unsaved-value设定值不相等,发送update(child)

    例如下面的情况:

    Java代码
    Session session = ...;
    Transaction tx = ...;

    Parent parent = (Parent); session.load(Parent.class, id);;
    Child child = (Child); session.load(Child.class, childId);;

    child.setParent(parent);;
    child.setName("sun");;

    parent.addChild(child);;
    s.update(parent);;

    s.flush();;
    tx.commit();;
    s.close();;

    Session session = ...;
    Transaction tx = ...;

    Parent parent = (Parent); session.load(Parent.class, id);;
    Child child = (Child); session.load(Child.class, childId);;

    child.setParent(parent);;
    child.setName("sun");;

    parent.addChild(child);;
    s.update(parent);;

    s.flush();;
    tx.commit();;
    s.close();;

    child已经在数据库中有了,是一个持久化的对象,不是新创建的,因此我们希望Hibernate发送update(child),在该例中,Hibernate取一下child.getId(),和unsave-value指定的null比对一下,发现不相等,那么发送update(child)。

    BTW: parent对象不需要操心,因为程序显式的对parent有load操作和update的操作,不需要Hibernate自己来判断究竟是save还是update了。我们要注意的只是child对象的操作。另外unsaved-value是定义在Child类的主键属性中的。

    Java代码
    <class name="Child" table="child">
    <id column="id" name="id" type="integer" unsaved-value="null">
    <generator class="identity"/>
    </id>
    ...
    </class>

    <class name="Child" table="child">
    <id column="id" name="id" type="integer" unsaved-value="null">
    <generator class="identity"/>
    </id>
    ...
    </class>

    如果主键属性不是对象型,而是基本类型,如int/long/double/...,那么你需要指定一个数值型的unsaved-value,例如:

    Java代码
    unsaved-null="0"

    unsaved-null="0"

    在此提醒大家,很多人以为对主键属性定义为int/long,比定义为Integer/Long运行效率来得高,认为基本类型不需要进行对象的封装和解构操作,因此喜欢把主键定义为int/long的。但实际上,Hibernate内部总是把主键转换为对象型进行操作的,就算你定义为int/long型的,Hibernate内部也要进行一次对象构造操作,返回给你的时候,还要进行解构操作,效率可能反而低也说不定。因此大家一定要扭转一个观点,在Hibernate中,主键属性定义为基本类型,并不能够比定义为对象型效率来的高,而且也多了很多麻烦,因此建议大家使用对象型的Integer/Long定义主键。

    unsaved-value="none"和
    unsaved-value="any"

    主主要用在主键属性不是通过Hibernate生成,而是程序自己setId()的时候。

    在这里多说一句,强烈建议使用Hibernate的id generator,或者你可以自己扩展Hibernate的id generator,特别注意不要使用有实际含义的字段当做主键来用!例如用户类User,很多人喜欢用用户登陆名称做为主键,这是一个很不好的习惯,当用户类和其他实体类有关联关系的时候,万一你需要修改用户登陆名称,一改就需要改好几张表中的数据。偶合性太高,而如果你使用无业务意义的id generator,那么修改用户名称,就只修改user表就行了。

    由这个问题引申出来,如果你严格按照这个原则来设计数据库,那么你基本上是用不到手工来setId()的,你用Hibernate的id generator就OK了。因此你也不需要了解当

    unsaved-value="none"和
    unsaved-value="any"

    究竟有什么含义了。如果你非要用assigned不可,那么继续解释一下:

    unsaved-value="none" 的时候,由于不论主键属性为任何值,都不可能为none,因此Hibernate总是对child对象发送update(child)

    unsaved-value="any" 的时候,由于不论主键属性为任何值,都肯定为any,因此Hibernate总是对child对象发送save(child)

    大多数情况下,你可以避免使用assigned,只有当你使用复合主键的时候不得不手工setId(),这时候需要你自己考虑究竟怎么设置unsaved-value了,根据你自己的需要来定。

    BTW: Gavin King强烈不建议使用composite-id,强烈建议使用UserType。

    因此,如果你在系统设计的时候,遵循如下原则:

    1、使用Hibernate的id generator来生成无业务意义的主键,不使用有业务含义的字段做主键,不使用assigned。

    2、使用对象类型(String/Integer/Long/...)来做主键,而不使用基础类型(int/long/...)做主键

    3、不使用composite-id来处理复合主键的情况,而使用UserType来处理该种情况。

    那么你永远用的是unsaved-value="null" ,不可能用到any/none/..了。
    展开全文
  • MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.eclipse.equinox.preferences 4 2 2015-01-19 20:59:08.593 !...
  • MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.tigris.subversion.clientadapter.javahl 1 0 2016-01-13 19:20:39.386 !...
  • !ENTRY org.eclipse.core.resources 2 10035 2012-02-01 19:09:52.234...MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.ecli...
  • The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.eclipse.osgi 4 0 2011-03-11 11:14:42.453 !MESSAGE An error occurred ...
  • I have a java project that runs on a webserver. I always hit this exception. I read some documentation, and found that pessimistic locking (or optimistic, but I read that pessimistic is better) i
  •  最近在维护一个业务系统,当系统发生级联... object references an unsaved transient instance - save the transient instance before flushing: project.womensleague.components.domain.entity.VolunteerTr...
  • project

    2012-01-13 10:27:49
    org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance 3. 如果cascade = "all" 且 inverse = "true" Hibernate: insert into father (name) values (?...
  • object references an unsaved transient instance - save the transient instance before flushing: com.innov8tion.pml.project.domain.Project; nested exception is org.hibernate.TransientObjectException: ob
  • Project project = (Project) this.projectDao.get(Project.class, id); if (project != null) { this.projectDao.delete(project); } 即这样也是可以的 Project project = new Project(); project.setId(id);...
  • MESSAGE The workspace exited with unsaved changesin the previous session; refreshing workspace to recover changes.     解决方法: [plain] view plaincopy 01. 到 <workspace>\.metadata\.plugins\org....
  • 报错:org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.hp.pms.project.entity.Project 解决办法:将many-to-one...
  • Project project = (Project) this.projectDao.get(Project.class, id); if (project != null) { this.projectDao.delete(project); } 即这样也是可以的 Project project = new Project(); project.setId(id); this....
  • unsaved-value(转)

    2011-04-27 12:08:35
    一、saveorUpdate与unsaved-value 到底是sava还是update Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象还是临时对象。 1).主键Hibernate的id generator产生 Proj...
  • Eclipse Java Build Path 配置

    千次阅读 2016-07-29 14:16:47
    http://my.safaribooksonline.com/book/software-engineering-and-development/ide/0321288157/java-project-configuration/ch06lev1sec1 原文全英文的,不过看起来也不是很费劲,现转出来,供有需
  • ANSYS+Workbench+15.0从入门到精通,足够ANSYS初级入门
  • saveorUpdate与unsaved-value

    2008-10-11 11:56:00
    Project p = (Project) sess.load(Project.class, id) ); p.setName(“test”); s.flush(); 不用调用 s.update(p);hibernate 能察觉到它的变化,会自动更新。当然显示调用的话也不会错 Hibernate ...
  • LDTP(Linux Desktop Test Project)摘要

    千次阅读 2011-12-14 09:32:14
    2. Window title (Ex: 'Unsaved Document 1 -gedit') 3. Window type, glob expression and partialwindow title (Ex: 'frm*-gedit') 4. Glob pattern and partial window title(Ex: '*-gedit') 5. Window ...
  • 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project 使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: ...
  • Project project = (Project) this.projectDao.get(Project.class, id); if (project != null) { this.projectDao.delete(project); } 即这样也是可以的 Project project = new Project(); project.setId...
  •  由于没有正常关机导致eclipse无法将数据正常写入配置文件导致无法启动。报这样一个异常 ...An internal error occurred during: "reload maven project". java.lang.NullPointerException
  • 推荐:Eclipse报异常:An internal error occurred during: “Launching Project”. java.lang.NullPointerException 如下图所示: Eclipse报异常:An internal error occurred during: “Launching Project”. ...
  • Source Insight的一些使用总结

    千次阅读 2018-10-11 19:51:40
    文件添加完成后,要进行同步映射:点击【Project】选中【Synchronize Files】,弹出一个对话框,此处可直接选OK; 文件以及添加,点击【Close】关闭即可。 二、Source Insigth 添加c++文件 *.cc文件 添加 *.cc...
  • Managing Versions of Your Project

    千次阅读 2012-04-21 17:11:48
    Managing Versions of Your Project Xcode provides several ways to save versions of your project: A snapshot saves the current state of your project or workspace on disk for possible restorati
  • 今天遇见的一个hibernate问题 unsaved-value user 一、saveorUpdate与unsaved-value 到底是sava还是update Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象还是临时对象。 1)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,080
精华内容 432
关键字:

projectunsaved