1

在我所知道的语言上,RPG...您可以使用多个键并查找检索记录的值。

喜欢餐桌。我可以选择键 lolo 和 apple 来检索性女巫的值是 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 中,你可以说 select * from Names where F_NAME = Lolo , L_NAME = "Apple" ,它会输出

P_ID     F_NAME  L_NAME  Sex
1        LOLO     Apple   F 

从那你可以说Sex = F。就像我想知道lolo apple是男性还是女性,我会在数据库中搜索lolo apple...不是P_ID = 1。我怎么知道Lolo Apple的P_ID是什么.

希望你明白我的意思.. 谢谢。

或者也许在等式的另一部分,在 JPA 上,您如何在不知道 P_ID(主键)的情况下检索要更新的记录,就像您只知道名字和姓氏一样?

4

1 回答 1

2

如果您查看OpenJPA 文档,它定义了 JPA 查询语言 [JPQL]。那不是开始的地方吗?


更新

如果你想指定几个键值,为什么不像在 SQL 中那样在 JPQL 的 WHERE 子句中指定它们。

SELECT ...
  WHERE colX = val1 and colY = val2 and colZ = val3
于 2012-12-03T12:02:07.863 回答