1

私が知っている言語では、RPG... 複数のキーを使用して、レコードの値を見つけることができます。

テーブルのように。私はキーloloとappleを選択して、sex witch is Fの値を取得できます.しかし、OPENJPAでこのような機能を見つけることができませんでした.. キーが F_NAME と L_NAME である find(names.class,:"LOLO","Apple") のようなものはありますか?

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 と言えます。ロロ アップルがオスかメスか知りたいのと同じように、データベースでロロ アップルを検索します... P_ID = 1 ではありません。ロロ アップルの 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 に答える