小编Gor*_*don的帖子

如何让Eclipse索引包含多个"make projects"的整个C/C++源代码树?

我无法让Eclipse为我的源代码编制索引.我目前正在Windows XP上使用Eclipse Helios.

我有一个名为src的目录.在其中,我有一堆dirs,像这样:

 src
   -include (common headers)
   -lib
     -libIO (source code for this library)
     -libGUI  (source code for this library)
   -pgms
     -pgm1  (source code and headers for this pgm)
     -pgm2  (source code and headers for this pgm)

每个叶子都有自己的Makefile.src中没有顶级Makefile.pgm1可以并且确实包含来自include和lib/libIO以及lib/libGUI的文件.

基本上,我希望Eclipse为我的整个src目录编制索引,而不必为树中的每个叶子设置一个C/C++项目. 我似乎无法找到实现这一目标的方法.

这是我的症状; 我正在努力解决的问题:

在pgm1目录中编辑源代码时,它引用在我的include dir头文件中声明并在lib/libIO中找到的源文件中定义的函数.

但是,当我按F3来获取函数的声明时,Eclipse说"无法在索引中找到符号'X'".我似乎无法让Eclipse在我的光标下找到方法的头部声明或源定义(就像Java模块完美无缺).这可能吗?

eclipse eclipse-cdt

25
推荐指数
3
解决办法
7万
查看次数

JPA和Hibernate级联之间的混淆

我正在使用Hibernate 3.6并对我的代码进行了注释(与使用hibernate映射文件相比).我遇到了使用与Hibernate的CascadeType不兼容的JPA级联选项的已知"问题"(有关详细信息,请参阅此链接http://www.mkyong.com/hibernate/cascade-jpa-hibernate-annotation-common-mistake /).

我希望能对这个问题有一点澄清.我有一些特别的问题:

1)所以@Cascade({CascadeType.SAVE_UPDATE})适用于saveOrUpdate(),但如果我使用merge()或persist(),它是否也适用?或者我必须使用所有三种Hibernate CascadeTypes?

2)如何决定是使用JPA级联选项还是使用Hibernate @Cascade注释?

2)在Hibernate中存在针对此问题的"bug",但开发人员显然将此视为文档问题(我完全不同意这些问题),并且我没有看到它在所述文档中得到解决.任何人都知道为什么这是"按设计工作"而不是Hibernate的JPA实现中的错误?

提前谢谢了.

hibernate jpa cascade

14
推荐指数
1
解决办法
2万
查看次数

@Entity无法识别@MappedSuperclass中的@Id

我正在尝试为一组实体创建一个基类,以减少编码工作和重复.我的想法是基类具有公共元数据字段,子类处理它们的唯一属性.

我的基类:

@MappedSuperclass
public abstract class FinanceEntityBean {
    protected Long id;

    @Version
    private long version;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }

    public void setId(final Long id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个实体:

@Entity
@Table(name = "tag")
public class Tag extends FinanceEntityBean {
}
Run Code Online (Sandbox Code Playgroud)

我已经使用此代码编写测试来在Tag实体上执行CRUD功能,并且它们都正常工作.

我的问题是 - 为什么Eclipse(Indigo)坚持认为Tag有错误:

The entity has no primary key attribute defined

我已将此更改为警告,因此我的代码将编译,但我很好奇为什么Eclipse不满意,如果我误解了某些内容.

这是有效的JPA 2.0代码吗?Hibernate 4.1.5是我的JPA提供者.

java eclipse hibernate jpa jpa-2.0

12
推荐指数
2
解决办法
2万
查看次数

当Hibernate没有更改时,阻止Hibernate更新集合

我有两个实体bean定义如下(不相关的东西删除):

@Entity
@Table(...)
public class MasterItem implements java.io.Serializable {

  private Set<CriticalItems> criticalItemses = new HashSet<CriticalItems>(0);

  @OneToMany(fetch = FetchType.EAGER, mappedBy = "masterItem", orphanRemoval = true,
            cascade = {javax.persistence.CascadeType.DETACH})
    @Cascade({CascadeType.SAVE_UPDATE, CascadeType.DELETE})
    public Set<CriticalItems> getCriticalItemses() {
        return this.criticalItemses;
    }
}
Run Code Online (Sandbox Code Playgroud)

CriticalItems定义如下:

@Entity
@Table(...)
public class CriticalItems implements java.io.Serializable {

    private MasterItem masterItem;

    @ManyToOne(fetch = FetchType.LAZY, optional = false,
            cascade = {javax.persistence.CascadeType.DETACH})
    @Cascade({CascadeType.SAVE_UPDATE})
    @JoinColumn(name = "mi_item_id", nullable = false)
    public MasterItem getMasterItem() {
        return this.masterItem;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的DAO代码中 - 我有这些方法:

public MasterItem load(int id) …
Run Code Online (Sandbox Code Playgroud)

collections hibernate persist

10
推荐指数
1
解决办法
2万
查看次数

Hibernate为PostgreSQL插入生成两个不同的序列ID

我有一个用序列生成的主键定义的实体:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_key_gen")
@SequenceGenerator(name = "id_key_gen", sequenceName = "id_key_seq")
@Column(name = "id", unique = true, nullable = false)
public int getId() {
    return this.id;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用PostgreSQL,这个键定义为串行.根据PostgreSQL

select last_value from id_key_seq;
Run Code Online (Sandbox Code Playgroud)

回报

1603.
Run Code Online (Sandbox Code Playgroud)

当我执行create()来持久保存此实体的实例时,我在日志中看到以下内容(编辑出的无关内容):


05 15:15:26.948 org.hibernate.id.enhanced.SequenceStructure [DEBUG] - 获得的序列值:1604

05 15:15:26.948 org.hibernate.event.def.AbstractSaveEventListener [DEBUG] - 生成的标识符:1554,使用策略:org.hibernate.id.enhanced.SequenceStyleGenerator


后续的SQL插入语句引用值1554,而不是它应该使用的值1604(基于SequenceStructure返回的值.Hibernate从哪里获得1554?

在我看来,Hibernate有一个错误 - SequenceStructure知道正确的下一个值,但它没有被使用.知道如何解决这个问题吗?

仅供参考:我知道这个页面,它说要使用GenerationType.AUTO,因为"Hibernate人员完全搞砸了",但除此之外没有太多非常有帮助的陈述.

postgresql hibernate sequence generated

6
推荐指数
1
解决办法
3520
查看次数

我似乎无法让cleartool找到一个简单的查询

Disclamer:我对Clear Case很新.

我想知道我在给定日期修改了哪些文件.我正在使用快照视图:

ClearCase version 7.1.2.0 (Tue Sep 21 12:01:15 EDT 2010) (7.1.2.D100920)
@(#) MVFS version 7.1.2.0 (Tue Aug 10 00:37:25 2010)
cleartool                         7.1.2.0 (Wed Sep 8 12:56:06 2010)
db_server                         7.1.2.0 (Sat Sep 4 01:27:12 2010)
VOB database schema version: 54
Run Code Online (Sandbox Code Playgroud)

编辑:仅供参考,我的观点是通过CCRC(Clear Case Remote Client)创建的.

这是我尝试过的(从我的Windows机器上):

cd c:\SnapshotViews\my_view_name
cleartool
cleartool> find . -element "{created_since(12-Mar-2012)}" -print
cleartool: Error: Not an object in a vob: ".".
cleartool: Warning: Skipping ".".
cleartool>

cleartool> find . -cview -version 'created_since(12-Mar-2012)' -print
cleartool: Error: Not an …
Run Code Online (Sandbox Code Playgroud)

clearcase

5
推荐指数
1
解决办法
7535
查看次数

我需要Eclipse来部署我的ANT脚本构建的WAR文件,而不是它内部构建的内容

我正在使用Eclipse Helios.我有一个动态Web项目,我已经设置Eclipse使用Ant Builder来生成WAR文件.这一切都很好; 如果我更改.java文件,Eclipse会自动通过Ant运行我的build.xml并更新我的WAR.如果我将WAR部署到Tomcat的外部实例,它可以完美地工作.

但是,当我告诉Eclipse在Tomcat下运行我的项目时,它不使用Ant构建生成的WAR文件,也不使用我的Ant脚本生成临时WAR.

我知道这是因为我的build.xml脚本在WAR中的WEB-INF/classes中包含了一些额外的XML配置文件,这些文件没有在Eclipse推出的WEB-INF/classes目录中结束.

我似乎无法在Eclipse中找到任何"发布时使用此WAR文件而不是构建自己的文件"的内容.

另一种方法是通过添加文件列表告诉Tomcat何时构建WAR,但我似乎无法找到方法.

我也很好奇Eclipse如何知道要发布什么,因为它显然忽略了我的build.xml和我之前生成的WAR文件.

eclipse ant publish tomcat war

3
推荐指数
1
解决办法
1万
查看次数