简体   繁体   English

生成复合PK空ID

[英]Composite PK null id generated

Spring Boot: 2.0.2 春季靴:2.0.2

Hibernate Core: 5.2.17 休眠核心:5.2.17

dialect: SQLServer2012Dialect 的方言:SQLServer2012Dialect

When trying to save DistributionActivities entity using JpaRepository save() method the operation fails with the following message: 尝试使用JpaRepository save()方法保存DistributionActivities实体时,操作失败,并显示以下消息:

org.hibernate.id.IdentifierGenerationException: null id generated for:class DistributionActivitiesEmails org.hibernate.id.IdentifierGenerationException:为以下类生成空ID:类DistributionActivitiesEmails

Parent Entity: 上级实体:

@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;
}

Child Entity: 子实体:

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

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

Composite PK : 复合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