无法在具有@IdClass的实体中转换请求元素

无法在具有@IdClass的实体中转换请求元素,第1张

无法在具有@IdClass的实体中转换请求元素

只是您的代码不符合JPA。问题的原因是您将其

Member
用作PK的一部分。 PK只能由以下Java类型的字段组成

  1. 基元 :布尔值,字节字符整数,长,短
  2. java.lang :布尔值,字节,字符,整数,长,短,字符串,枚举,StringBuffer
  3. java.math :BigInteger java.sql:Date,Time,Timestamp
  4. java.util :日期,货币,语言环境,时区,UUID
  5. **java.net** :URI,URL
  6. javax.jdo.spi :PersistenceCapable


这应该工作:

@Embeddablepublic class MemberAttributePk implements Serializable {    @Column(name = "member_id")    protected Long memberId;    @Column(name = "name")    protected String name;    public MemberAttributePk() {}    // get & set}@Entitypublic class MemberAttribute {    @EmbeddedId    protected MemberAttributePk memberAttributePk;    @ManyToOne     @JoinColumn(name="member_id")    protected Member member;    private String value;    public MemberAttribute() {}    // get & set}

还是一样

@ClassId

public class MemberAttributePk implements Serializable {    protected Long memberId;    protected String name;    public MemberAttributePk() {}    // get & set}@Entity@IdClass(MemberAttributePk.class)public class MemberAttribute {    @Id    @Column(name = "member_id")    protected Long memberId;    @Id    @Column(name = "name")    protected String name;    @ManyToOne     @JoinColumn(name="member_id")    protected Member member;    private String value;    public MemberAttribute() {}    // get & set}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4977297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存