gpt4 book ai didi

java - 使用 JPA 查询表中两个字段的语法

转载 作者:行者123 更新时间:2023-12-02 07:48:29 25 4
gpt4 key购买 nike

引用JPQL ,我不清楚如何查询表。

我想要的是,如果存在的话,给定messagId和组的@Entity Note,但我不明白语法。

如何为以下查询指定 messageId 和组?

public void persist(Msg message) {
LOG.info("\t" + message);
LOG.info("isOpen?" + em.isOpen());
em.getTransaction().begin();
int id = message.getId();
Query q = em.createQuery("SELECT n "
+ "FROM Notes n WHERE n.messageId = :messageId "
+ "AND n.group = :group");
List results = q.getResultList();
em.getTransaction().commit();
for (Object o : results) {
LOG.info("object is \n\n" + o);
}
}

}

最佳答案

使用setParameter(String name, Object value)

q.setParameter("messageId", id).setParameter("group", group);

为了让它更好,请使用 TypedQuery

public void persist(Msg message) {
LOG.info("\t" + message);
LOG.info("isOpen?" + em.isOpen());
em.getTransaction().begin();
int id = message.getId();
TypedQuery<Note> q = em.createQuery("SELECT n "
+ "FROM Notes n WHERE n.messageId = :messageId "
+ "AND n.group = :group", Note.class);
q.setParameter("messageId", id).setParameter("group", group);
List<Note> results = q.getResultList();
em.getTransaction().commit();
for (Note o : results) {
LOG.info("object is \n\n" + o);
}
}

关于java - 使用 JPA 查询表中两个字段的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535553/

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