есть таблицы:
code:
create table nt_window_chunks (
chunk_id serial not null primary key
, window_id int not null references nt_windows on delete cascade on update cascade
);
create table nt_windows (
window_id serial not null primary key
);
и маппинг этих таблиц на соответствующие объекты в джаве:
code:
@Entity
@Table(name = "nt_window_chunks")
public class WindowChunk implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "chunk_id")
private Integer chunkId;
@JoinColumn(name = "window_id", referencedColumnName = "window_id")
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private Window window;
}
@Entity
@Table(name = "nt_windows")
public class Window implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "window_id")
private Integer windowId;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "window", fetch = FetchType.LAZY)
private List<WindowChunk> chunks;
}
Можно ли организовать удаление Объектов типа WindowChunk без использования EntityManager::remove()? то есть хочется, чтобы при выставлении WindowChunk.window = null или удалении его из Window::chunks удалялась соответствующая запись из базы. Но ни тот, ни другой способ не работает, может быть есть другие пути?