我正在创建一个用于研究项目的小程序。我在 NetBeans 中使用 Master Detail 模板,它工作正常,直到我需要将 WHERE 添加到 Master 检索到的行中。Model 类中有一系列 Java @ 注释,其中包含针对结果集中所有列的带有 WHERE 子句的查询。例如
@NamedQueries({ @NamedQuery(name = "Topic.findByTopicId", query = "SELECT t FROM Topic t WHERE t.topicIc = :topicId"),
有一整套这些。这就是我想要使用的,但我找不到如何设置查询。查询设置在我无法更改的代码中,因为 NetBeans 创建并冻结了它。
查询 = java.beans.Beans.isDesignTime() ?null : entityManager.createQuery("SELECT t FROM Topic t");
NetBeans 创建的还有一个 persistence.xml 文件,其中包含 JDBC 连接信息和 Model 类的名称。
我有近 15 年的使用 Java 的经验,但总是作为命令行或后端,但从不作为 GUI。这似乎是让我的项目进行的一种快速方法,但如果我不能改变它,我需要找到不同的解决方案。谁能解释如何更改 EntityManager 使用的查询?