简体   繁体   中英

Composite PK null id generated

Spring Boot: 2.0.2

Hibernate Core: 5.2.17

dialect: SQLServer2012Dialect

When trying to save DistributionActivities entity using JpaRepository save() method the operation fails with the following message:

org.hibernate.id.IdentifierGenerationException: null id generated for:class 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 :

@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类中定义的关系映射。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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