[persistence/hibernate] удаление элемента

oleg1331

есть таблицы:
 
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
);

и маппинг этих таблиц на соответствующие объекты в джаве:
 
@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 удалялась соответствующая запись из базы. Но ни тот, ни другой способ не работает, может быть есть другие пути?

Hastya

all-delete-orphan?

oleg1331

это, как я понимаю, для чистого хибернейта.
я попробовал сделать аналогичное для persistence, добавив
 @ManyToOne(fetch = FetchType.LAZY, cascade=CascadeType.ALL) 

в оба класса. не помогло.. :(
Оставить комментарий
Имя или ник:
Комментарий: