Как поместить данные в таблицу, если нет сущности - PullRequest
0 голосов
/ 21 октября 2018

У меня есть несколько сущностей зависимости.Я хотел бы, чтобы 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...