У меня есть несколько сущностей зависимости.Я хотел бы, чтобы parent_id для storage_id был сохранен в дополнительной таблице.Но я не понимаю, как это сделать, я создал вспомогательную таблицу, но теперь я не понимаю, как установить parent_id для этого элемента во время создания StorageElement.И самое главное, как я могу получить мой parent_id для хранения.Полагаю, мне нужно изменить зависимости, но как?
@Entity
@DiscriminatorColumn(name = "type")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class StorageElement {
@Enumerated(value = EnumType.STRING)
@Column(updatable = false, insertable = false)
private SomeType type;
@Id
@GeneratedValue
private Long id;
@Column
private String name;
@OneToOne
@JoinColumn(name = "user_id")
@JsonIgnore
private AccountEntity owner;
@Column
private Long size;
@ManyToOne(targetEntity = Organization.class)
@JoinColumn(name = "organization_id")
@JsonIgnore
private Organization organization;
@OneToMany(targetEntity = StorageElement.class)
@JsonIgnore
private List<StorageElement> children;
} {
@Entity
@DiscriminatorValue("CHANNEL")
public class Channel extends StorageElement{
@ManyToMany(cascade = CascadeType.REMOVE)
@JoinTable(
name="channel_account",
joinColumns=@JoinColumn(name="channel_id",
referencedColumnName="id"),
inverseJoinColumns=@JoinColumn(name="user_id",
referencedColumnName="id"))
List<AccountEntity> accountEntityList;
@ManyToMany(cascade = CascadeType.REMOVE)
@JoinTable(
name="storage_parent",
joinColumns=@JoinColumn(name="parent_id",
referencedColumnName="id"),
inverseJoinColumns=@JoinColumn(name="storage_id",
referencedColumnName="id"))
List<StorageElement> storageElementList;
}
Вот моя таблица.
Таблица StorageElement, которая состоит из 4 объектов, одним из которых является Channel ; Дополнительная таблица ;
Любая помощь будет принята с благодарностью. Qd