powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / хибернейт \ майсиквел 4.1
5 сообщений из 5, страница 1 из 1
хибернейт \ майсиквел 4.1
    #32932035
90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
90
Гость
есть три класса

class Father {
private Long id;
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}

private Set children;
public Set getChildren() {return children;}
public void setChildren(Set children) {this.children=children;}
}

class Mother {
private Long id;
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}

private Set children;
public Set getChildren() {return children;}
public void setChildren(Set children) {this.children=children;}
}

class Child {
private Long id;
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}

private Long parentId;
public Long getParentId() {return parentId;}
public void setParentId(Long parentId) {this.parentId = parentId;}
}

чайлд может пренадлежать либо папе, либо маме, но никак не обоим.

соответственно классы замеплины
у папы и мамы
<set name="children" table="CHILD" lazy="false" cascade="all" sort="natural">
<key column="PARENT_ID"/>
<one-to-many class="Child"/>
</set>

у ребёнка
<property name="parentId" column="PARENT_ID" not-null="false"/>


возникает ексепшен при сохранении любого из родителей
java.sql.SQLException: Cannot add or update a child row: a foreign key constraint fails

в чем может быть дело?
...
Рейтинг: 0 / 0
хибернейт \ майсиквел 4.1
    #32932045
90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
90
Гость
отец и мать мепятся на разные таблицы
...
Рейтинг: 0 / 0
хибернейт \ майсиквел 4.1
    #32932064
90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
90
Гость
таблицы создаются автоматически
в hibernate.properties стоит
hibernate.hbm2ddl.auto create

при этом у child'a
появляются два форен ключа

KEY `FK1077C217F38D0` (`PARENT_ID`),
KEY `FK1077C217F38D02471AB01` (`PARENT_ID`),
CONSTRAINT `FK1077C217F38D02471AB01` FOREIGN KEY (`PARENT_ID`) REFERENCES `father` (`ID`),
CONSTRAINT `FK1077C217F38D0` FOREIGN KEY (`PARENT_ID`) REFERENCES `mother` (`ID`)
...
Рейтинг: 0 / 0
хибернейт \ майсиквел 4.1
    #32935965
maddcast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто сказал, что в mysql есть foreign key?
...
Рейтинг: 0 / 0
хибернейт \ майсиквел 4.1
    #32939805
90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
90
Гость
есть :))
в 4.1 точно есть
у меня таблицы все создались хибернейтом
потом открыл MySQL Query Browser
правой кнопочкой по таблице >> копирование SQL
в буфере SQL запрос который создал таблицу
всё там есть

но проблему уже решил -- замепил по другому
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / хибернейт \ майсиквел 4.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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