繁体   English   中英

生成复合PK空ID

[英]Composite PK null id generated

春季靴:2.0.2

休眠核心:5.2.17

的方言:SQLServer2012Dialect

尝试使用JpaRepository save()方法保存DistributionActivities实体时,操作失败,并显示以下消息:

org.hibernate.id.IdentifierGenerationException:为以下类生成空ID:类DistributionActivitiesEmails

上级实体:

@Entity
@Table(name = "DistributionActivities")
public class DistributionActivities implements Serializable 
{   
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)    
    @Column(name ="ActivityID")
    private Long activityID;

    @OneToMany(cascade={CascadeType.ALL})
    @Fetch(FetchMode.JOIN)
    @JoinColumn(name="activityID", referencedColumnName="activityID")
    private Set<DistributionActivitiesEmails> distributionActivitiesEmails;
}

子实体:

@Entity
@Table(name = "DistributionActivitiesEmails ")
public class DistributionActivitiesEmails implements Serializable 
{
    @EmbeddedId
    private DistributionActivitiesEmailsId id;

    @Length(max = 50)
    private String EmailAdress;
}

复合PK:

@Embeddable
public class DistributionActivitiesEmailsId implements Serializable 
{
    @ManyToOne
    @JoinColumn(name="ActivityID")
    private DistributionActivities distributionActivities;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)    
    @Column(name ="ActivityEmailID")
    private Long activityEmailID;    
} 

根据@EmbeddedId javadoc,不支持在嵌入式id类中定义的关系映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM