powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EBean каскадно удаление
4 сообщений из 4, страница 1 из 1
EBean каскадно удаление
    #38562460
maksaimer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совсем недавно принялся изучать Play Framework. Решил что стоит попробовать вместо привычного JPA что-то новенькое. Выбор был не особо велик - EBean.
Допустим ситуацию.
Есть альбома, а в нем фотографии:

Альбом:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class Album extends Model {
  @Id
  Long id;

  @ManyToOne
  Photo cover;

  @OneToMany(cascade = CascadeType.ALL)
  List<Photo> photos;
}



Альбом в себе имеет в себе фотографии и одна из фотографий является обложкой.

Фото:
Код: java
1.
2.
3.
4.
5.
6.
7.
class Photo extends Model {
  @Id
  Long id;

  @ManyToOne
  Album album;
}



Собственно ситуация:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Photo photo1 = new Photo();
Photo photo2 = new Photo();

Album album = new Album();
album.photos.add(photo1);
album.photos.add(photo2);
album.save();

album.cover = photo1;
album.update();

album.delete();



На последней строчке будет ексепшн, собственно ситуация понятна, при каскадном удалении удаляются все фотографии в альбоме, а одна из них ссылается на альбом - cover (обложка), то есть присутствует некоторая цикличность. Что нужно сделать, чтобы удаление прошло успешно?
...
Рейтинг: 0 / 0
EBean каскадно удаление
    #38562482
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maksaimer,
Убрать дважды фото в альбоме и добавить в фотографиях флаг что альбомная.
...
Рейтинг: 0 / 0
EBean каскадно удаление
    #38562484
maksaimer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, некрасивое решение, как мне кажется.

Так мне надо было просто обратиться к cover, а так придется делать еще один запрос чтобы найти обложку фотографии.
...
Рейтинг: 0 / 0
EBean каскадно удаление
    #38562507
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maksaimer,
а если надо Выбрать для обложи главное фото? Тогда будет легко не перезагружая фото сменить только галку.
maksaimerи одна из фотографий является обложкой.
сам ведь написал))
Модель нельзя подстраивать под лень
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EBean каскадно удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]