1

我有一个要求,实体对象需要有一个 Map 集合,其中 MapKey 是同一个表中的列。实体对象 Fund 可以具有相关的 Funds,每个 Fund 具有唯一的 Fund 类型。我需要将相关资金作为一个 Map,其中 FundType 是一个枚举类。Hibernate 不会将relatedFunds 持久化到表中。只有母基金被插入。这是我的实体对象:

@Entity
@Table(name="T_FUND")
public class Fund {

    @Id
    @GeneratedValue
    protected Long id;

    @Column(name="FUND_TYPE", nullable = false)
    @Enumerated(EnumType.STRING)    
    protected FundType fundType;

    @OneToMany(mappedBy="mainFund", cascade = {CascadeType.ALL})
    @MapKey(name="fundType")    
    protected Map<FundType,Fund> relatedFunds;

    @ManyToOne(targetEntity = FundImpl.class,cascade = {CascadeType.ALL})
    protected Fund mainFund;

    @Column(name="FULL_NAME", nullable = false, length = 255)
    protected String fullName;

 }
4

0 回答 0