2

次のようなエンティティがあります。

@Entity
@Table(name = "MY_TABLE")
public class OrderPackage implements Serializable { 

   @EmbeddedId
   @AttributeOverrides({ 
        @AttributeOverride(name = "pId", column = @Column(name = "P_ID")),
        @AttributeOverride(name = "prId", column = @Column(name = "PR_ID")),
        @AttributeOverride(name = "pin", column = @Column(name = "PIN")),
        @AttributeOverride(name = "Id", column = @Column(name = "MN_ID"))       
   })
   private PackageId id;

   @Column(name = "MEM_ID")
   private Long memberId;

    .....
    .....
   // more fields and getters and setters
}

PackageId.class

@Embeddable
public class PackageId implements Serializable {

   private String pId;
   private String prId;
   private String pin;
   private Long Id;

    // getters and setters
}

Mytable には、クエリに一致する次のフィールドがあります。

SELECT c FROM OrderPackage c where <condition> order by c.prId;

次のような一致するレコード:

  MN_ID     MEM_ID       P_ID            PR_ID           PIN       ///some other fields
  6217      402022795    A1000005361     B1000077615     (null)
  6213      402022795    A1000005361     B1000037615     (null)
  6218      402022795    A1000005361     B1000087615     (null)
  6215      402022795    A1000005361     B1000057615     (null)

MN_ID はここで一意です。

カウント4を取得します。しかし、リスト内のすべての行がnullです。

何が原因でしょうか?

jBoss 4.2.x
JPA
Hibernate
ORACLE

アップデート:

これはまだですか?(複合キーのいずれかのフィールドに null 値がある場合、その行全体に対して null を返します)

http://thelittlefellow.blogspot.com/2011/07/hibernate-gethibernatetemplatefind.html

https://hibernate.atlassian.net/browse/HHH-177

4

0 に答える 0