小编jør*_* s.的帖子

如何仅检索关联的 ID 而不是实体?

我有一个看起来像这样的课程:

@Entity
public class EdgeInnovation {
    @Id
    public long id;
    @ManyToOne
    public NodeInnovation destination;
    @ManyToOne
    public NodeInnovation origin;
}
Run Code Online (Sandbox Code Playgroud)

另一个看起来像这样:

@Entity
public class NodeInnovation {
    @Id
    public long id;
    @OneToOne
    public EdgeInnovation replacedEdge;
}
Run Code Online (Sandbox Code Playgroud)

因此每个表都映射到另一个表,因此一个实体将引用其他实体,这些实体将引用更多实体,依此类推,最终将从数据库中获取许多实体。有没有办法只获取键的值(整数/长)而不是它所指的实体?像这样:

@ManyToOne(referToThisTable="NodeInnovation")
@Entity
public class EdgeInnovation {
    @Id
    public long id;
    @ManyToOne(referToTable="NodeInnovation")
    public Long destination;
    @ManyToOne(referToTable="NodeInnovation")
    public Long origin;
}
Run Code Online (Sandbox Code Playgroud)

@Entity
public class NodeInnovation {
    @Id
    public long id;
    @OneToOne(referToTable="EdgeInnovation")
    public Long replacedEdge;
}
Run Code Online (Sandbox Code Playgroud)

这是一个例子。

这是一个例子。我想要绿色的东西,我得到所有红色的东西。这浪费了从磁盘读取的内存和时间。

java annotations jpa derby eclipselink

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

如何从Java中的分隔符返回下一个元素

我想从拆分器中获取下一个元素,而不仅仅是对下一个元素“执行操作”。例如,通过实现以下方法

<T> T getnext(Spliterator<T> s) {

}
Run Code Online (Sandbox Code Playgroud)

我发现的所有搜索结果都说tryAdvance()就像是迭代器hasNext()和next()的组合,除了那是一个大谎言,因为我无法获取下一个元素,只是“对下一个元素执行操作”。

java iterator consumer java-8 spliterator

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

标签 统计

java ×2

annotations ×1

consumer ×1

derby ×1

eclipselink ×1

iterator ×1

java-8 ×1

jpa ×1

spliterator ×1