gpt4 book ai didi

jpa - 使用 JPA 可以仅返回一列

转载 作者:行者123 更新时间:2023-12-04 18:22:09 26 4
gpt4 key购买 nike

我有一个 Open JPA 实体,它成功连接了多对多关系。现在我成功地获取了整个表,但我实际上只想要该表中的 ID。我计划稍后调用数据库来重建我需要的实体(根据我的程序流程)。我只需要 ID(或该表中的一列)。
1)我应该尝试在我的实体bean中或在我将用来调用实体bean的无状态 session bean中限制这一点2)如果我尝试使用 JPA 执行此操作,我如何指定只从表中获取 ID,而不是整个表?到目前为止,在网上查找,我还没有找到可以做到这一点的方法。所以我猜想没有办法做到这一点。3)如果我只是简单地操作返回值,我是否应该创建一个单独的类,将其返回给用户,仅将所需的 id 列表返回给用户?

我在这里可能完全错误,但从表面上看,我认为没有一种简单的方法可以使用 JPA 来执行此操作,并且我必须向用户返回一个自定义对象而不是实体 bean (这个自定义对象只会保存 id,而不是像当前那样保存整个表)

任何想法...我认为这并不真正相关,但人们总是要求代码,所以给你...

@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name="QUICK_LAUNCH_DISTLIST",
joinColumns=@JoinColumn(name="QUICK_LAUNCH_ID"),
inverseJoinColumns=@JoinColumn(name="LIST_ID"))
private List<DistributionList> distributionlistList;

目前我如何获取整个记录集合。请记住,我只想要 ID...

    try
{
//int daSize = 0;
//System.out.println("Testing 1.2..3...! ");
qlList = emf.createNamedQuery("getQuickLaunch").getResultList();
}

这就是我调用实体 bean 的方式。我想这是我必须以编程方式遍历并创建一个类似于实体 bean 的自定义对象的地方(但它只有 ID 而不是整个表,并尝试将 id 放在某个地方。

你有什么想法?

谢谢

最佳答案

我相信我刚刚找到了解决这个问题的最佳方案。
这个链接就是答案: my other stack overflow answer post

但是为了那些懒得点击链接的人,我基本上使用了 @ElementCollection 属性......

@ElementCollection(fetch=FetchType.EAGER)
@CollectionTable(name="QUICK_LAUNCH_DISTLIST",joinColumns=@JoinColumn(name="QUICK_LAUNCH_ID"))
@Column(name="LIST_ID")
private List<Long> distListIDs;

就这样完成了。

关于jpa - 使用 JPA 可以仅返回一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10435151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com