埋め込みコレクションの識別子を追加する方法はありますか? これが私が持っているものです
@MappedSuperclass
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
public abstract class EncounterDataInfo implements Serializable {
@Column(length = 50, nullable = false)
private String name;
@Column(length = 50, insertable = false, updatable = false)
private String type;
}
@Embeddable
@DiscriminatorValue("DIAGNOSIS")
public class Diagnosis extends EncounterDataInfo {
}
@Embeddable
@DiscriminatorValue("MODIFIER")
public class Modifier extends EncounterDataInfo {
}
@Entity
@Table(name = "ENCOUNTER_DATA")
public class EncounterData extends AuditingEntity {
@ElementCollection(targetClass = Diagnosis.class)
@CollectionTable(name = "ENCOUNTER_DATA_INFO", joinColumns = @JoinColumn(name = "encounter_data_id"))
private List<Diagnosis> diagnoses;
@ElementCollection(targetClass = Modifier.class)
@CollectionTable(name = "ENCOUNTER_DATA_INFO", joinColumns = @JoinColumn(name = "encounter_data_id"))
private List<Modifier> modifiers;
}
現在、両方のフィールドの EncounterData インスタンスには、タイプに依存せず、encounter_data_info テーブルからのすべての値があります。では、識別子の値が機能していないようですか?なぜ、どうすればそれを機能させることができますか?