在我所知道的语言上,RPG ...您可以使用多个键并查找检索记录的值。
喜欢桌子。我可以选择键lolo和苹果来检索性别女巫的价值是F. Howerver我在OPENJPA中找不到这样的功能.. find()只能使用一个键吗?是否存在类似于find(names.class,:“LOLO”,“Apple”)的内容,其中键是F_NAME和L_NAME?
Names
F_NAME L_NAME Sex
LOLO Apple F
Ben Coke M
在阅读jpa时,通常表格有P_ID
P_ID F_NAME L_NAME Sex
1 LOLO Apple F
2 Ben Coke M
要检索记录lolo apple,我需要使用此代码..
Names name = em.find(Names.class, 1);
如果给定的价值是F_NAME,您如何知道性别?和L_NAME?在SQL中你可以说选择*来自名字,其中F_NAME = Lolo,L_NAME =“Apple”,它将输出
P_ID F_NAME L_NAME Sex
1 LOLO Apple F
从中你可以说性别= F. 就像我想知道lolo apple是男性还是女性一样,我会在数据库上搜索lolo apple ...不是P_ID = 1.我怎么知道Lolo Apple的P_ID是什么。
希望你明白我的意思..谢谢。
或者在JPA的另一部分中,如何在不知道P_ID(主键)的情况下检索要更新的记录,就像您只知道名字和姓氏一样?
答案 0 :(得分:2)
如果查看OpenJPA documentation ,它定义了JPA查询语言[JPQL]。那不是开始的地方吗?
<强>更新强>
如果要指定多个键值,为什么不在JPQL的WHERE子句中指定它们,就像在SQL中一样。
SELECT ...
WHERE colX = val1 and colY = val2 and colZ = val3