|
Тема
|
Could not synchronize database state with session
|
|
Автор | Spartak (Нерегистриран) |
Публикувано | 03.07.05 18:32 |
|
Здравейти имам един проблем с MySQL.
Ползвам java програма и hibernate, а MySQL като сървър за БД
и при опит да стартирам програмата и да запиша нещо (insert, update)
получавам този проблем:
(util.JDBCExceptionReporter 58 ) Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
[java] (util.JDBCExceptionReporter 57 ) SQL Error: 1216, SQLState: 23000
[java] (util.JDBCExceptionReporter 58 ) Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
[java] (impl.SessionImpl 2399) Could not synchronize database state with session
[java] net.sf.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
[java] at net.sf.hibernate.exception.ErrorCodeConverter.convert.......
Понеже съм новоизлюпен в DB се затруднявам да се преборя сам.
Ако някой е срештал такъв проблем до сега моля да помогне.
Благодаря предварително.
| |
Тема
|
Re: Ами то си пише ..
[re: Spartak]
|
|
Автор |
salle (един такъв) |
Публикувано | 04.07.05 00:47 |
|
Прочети съобщението за грешка което получаваш. По-ясно от това няма накъде.
"Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
Редактирано от salle на 04.07.05 01:21.
| |
Тема
|
Re: Ами то си пише ..
[re: salle]
|
|
Автор |
Spartak (непознат
) |
Публикувано | 04.07.05 11:33 |
|
Добре де приятелю. Аз видях какво пише а също така, казах и че съм
новобранец. Съжалявам ако задавам глупав въпрос но
ме интересува как да преодолея това съобщение т.е. какво да направя
за да си реша проблема? Дано само да не е от тизи проблеми дето не
се оправят от разстояние... Ако имаш някаква идея моля помогни
| |
|
Значи ако не знаеш какво означават термините
Primary Key - Първичен ключ
Foreign Key - Външен ключ
Наистина нищичко не разбираш и просто задължително трябва да попрочетеш малко от АБВ-то на релационните бази данни.
Иначе все едно да питаш във форум на автомобилни майстори как се ремонтира ABS-а без въобще да знаеш да знаеш, че автомобилите имат спирачки нито за какво служат.
В твоя случай Java-та ти се свързва с някаква База Данни на MySQL в която нещата са организирани според определена логика. Тази лагика трябва да ти е известна з ада можеш да се съобразяваш с нея
Редактирано от salle на 04.07.05 18:19.
| |
|
Здравей отново.
Знам какво е Primary Key - а
Foreign Key само съм си представял, че знам. Като се прибави и фактът, че аз ползвам hibernahte (http://www.hibernate.org/) и той си генерира заявката т.е. не я виждам наяве става
да не ти обяснявам. Напълно съм съгласен с теб, че трябва да прочета
нещичко за БД.
Можеш ли да ми препоръчаш нещо, което не е пълно с много "локуми" и е
достатъчно изчерпателно (по възможност на български)?
Благодаря предварително!
| |
Тема
|
Re: хм ..
[re: Spartak]
|
|
Автор | nasko (Нерегистриран) |
Публикувано | 06.07.05 11:40 |
|
Настрой си приложението така, че hibernate-а да си пише заявките в логовете/конзолата...
По отношение на книга за основите на СУБД/SQL можеш да прочетеш поне първата половина на "Teach yoursef sql in 21 days". На доста разбираем език е и има доста примери. Само че е на английски, но трябва да свикваш;)
| |
|
Здравей. Аз съм си направил hibernate-a да извежда на конзолата
т.е. hibernate.showsql=true; обаче той дава заявките
в явен вид само когато правиш export на таблици към БД. А когато се опиташ
да запълниш таблиците с някакви данни той ти дава следните съобщения:
[java] (util.JDBCExceptionReporter 57 ) SQL Error: 1216, SQLState: 23000
[java] (util.JDBCExceptionReporter 58 ) Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
[java] (util.JDBCExceptionReporter 57 ) SQL Error: 1216, SQLState: 23000
[java] (util.JDBCExceptionReporter 58 ) Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
[java] (impl.SessionImpl 2399) Could not synchronize database state with session
[java] net.sf.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
[java] at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:73)
Което пак казвам, че за мен не е много информативно....
Благодаря ти за съвета от къде да чета!
| |
Тема
|
Re: хм ..
[re: Spartak]
|
|
Автор | nasko (Нерегистриран) |
Публикувано | 07.07.05 13:57 |
|
Моля, пак заповядай
| |
Тема
|
Re: хм ..
[re: Spartak]
|
|
Автор | Penguin (Нерегистриран) |
Публикувано | 08.07.05 17:20 |
|
Настрой си сaмия MySQL да логвa всички получени SQL заявки във файл и после ги гледай и сравнявай със структурта на таблицата. Аз така като гледам съобщението ми се струва, че в базата има поле излишно маркирно като foreign key. Но това е само доста груба догадка, понеже от съобщението за грешка не може да се определи какво е объркано в настройките нa hibernate.
| |
|
|
|
|