powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate many-to-many не сохраняет в базу
5 сообщений из 5, страница 1 из 1
Hibernate many-to-many не сохраняет в базу
    #38600005
Recreate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые форумчане! Уже долгое время сражаюсь с хибернейтом параллельно постигая его. В этот раз сражение длится уже 3 суток. Имеем 2 сущности Article и Category (таблицы article, category, cat_art) связь многие-ко-многим.Суть в том что нужно сохранить сущность Article в базу с категорией(которая уже находится в базе). Хиб делает селекты и всё. Сохранение не происходит. Эксепшенов нет. Ниже мапинги и лог хиба. Кто-нибудь сталкивался с подобным?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@Entity
@Table(name = "article")
public class Article implements Serializable {
 
	private static final long serialVersionUID = -5352780230114105874L;
	private Long id;
	private String title;
	private String description;
	private Account account;
	private Timestamp timestamp;
	private Set<Category> categories = new HashSet<Category>();

	@ManyToMany(mappedBy = "articles", fetch = FetchType.LAZY)
	public Set<Category> getCategories() {
		return categories;
	}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@Entity
@Table(name = "category")
public class Category implements Serializable {
 
	private static final long serialVersionUID = 2889640646104742628L;
	private Long id;
	private String title;
	private List<Article> articles = new ArrayList<Article>();
 
	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	@JoinTable(name = "cat_art", joinColumns = { @JoinColumn(name = "category_id") }, inverseJoinColumns = { @JoinColumn(name = "article_id") })
	public List<Article> getArticles() {
		return articles;
	}


Тестовый запрос на инсерт связанных сущностей.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Article article = new Article();
		Account account = new Account();
		account.setId(1L);
		
		article.setTitle(articleDTO.getTitle());
		article.setDescription(articleDTO.getDescription());
		article.setAccount(account);
		
		Category cat = categoryService.getCategoryById(1L);
		article.getCategories().add(cat);
		cat.getArticles().add(article);
		
		articleService.addArticle(article);
		categoryService.addCategory(cat);


Вывод:
Код: plsql
1.
2.
3.
4.
5.
Hibernate: select category0_.id as id1_3_0_, category0_.title as title2_3_0_ from category category0_ where category0_.id=?
 
Hibernate: select articles0_.category_id as category1_3_0_, articles0_.article_id as article_2_2_0_, article1_.id as id1_1_1_, article1_.account_id as account_5_1_1_, article1_.description as descript2_1_1_, article1_.time as time3_1_1_, article1_.title as title4_1_1_ from cat_art articles0_ inner join article article1_ on articles0_.article_id=article1_.id where articles0_.category_id=?
 
Hibernate: insert into article (account_id, description, time, title) values (?, ?, ?, ?)
...
Рейтинг: 0 / 0
Hibernate many-to-many не сохраняет в базу
    #38601284
For All
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу вопрос: где границы транзакции в примере сохраниения? Одна транзакция на всё или несколько?
...
Рейтинг: 0 / 0
Hibernate many-to-many не сохраняет в базу
    #38601366
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For All,
возьми Готовый Рабочий пример Много ко много тут или в сети.
...
Рейтинг: 0 / 0
Hibernate many-to-many не сохраняет в базу
    #38602075
For All
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123For All,
возьми Готовый Рабочий пример Много ко много тут или в сети.

Так оно мне надо или автору топика?
...
Рейтинг: 0 / 0
Hibernate many-to-many не сохраняет в базу
    #38602245
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For All,
Упс. Аффтару ))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate many-to-many не сохраняет в базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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