gpt4 book ai didi

Java EJB 通过外键查找

转载 作者:行者123 更新时间:2023-12-02 03:19:06 25 4
gpt4 key购买 nike

我观看了有关 EJB 的教程并尝试在我自己的项目中使用它。如果我尝试调用 find() 函数并按行 ID 进行搜索,我会得到结果。但现在我遇到的问题是我只有外键来搜索。如果我使用 find() 并将外键作为参数传递,则会出现异常。 java.lang.IllegalArgumentException现在我想知道是否可以在没有主键的情况下使用 find() 函数,或者我应该在内部使用 SQL-Query 创建一个 DAO?

最佳答案

您的项目可能已经利用带有实体管理器的 JPA,而不是构建 DAO,实体管理器本身就是一个 DAO。

如果是这种情况,我将通过将命名查询放在实体之上或方便的实用程序类中来构建特定的命名查询:

@Entity
@NamedQuery(
name="findMyEntityWithFK",
queryString="SELECT e FROM EntityTable e WHERE e.myForeignKey = :myForeignKey")

然后您可以简单地:

Query queryByFK = em.createNamedQuery("findMyEntityWithFK");
queryByFK.setParameter("myForeignKey", "xyz");
Collection entities = queryByFK.getResultList();

关于Java EJB 通过外键查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39857702/

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