Could not synchronize database state with session
8 отговора
5456 прегледа
Could not synchronize database state with session
Здравейти имам един проблем с 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 се затруднявам да се преборя сам.
Ако някой е срештал такъв проблем до сега моля да помогне.
Благодаря предварително.
Ползвам 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: Ами то си пише ..
Прочети съобщението за грешка което получаваш. По-ясно от това няма накъде.
"Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
salle.online.bg/sig
"Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails"
salle.online.bg/sig
Редактирано от salle на
Re: Ами то си пише ..
Добре де приятелю. Аз видях какво пише а също така, казах и че съм
новобранец. Съжалявам ако задавам глупав въпрос но
ме интересува как да преодолея това съобщение т.е. какво да направя
за да си реша проблема? Дано само да не е от тизи проблеми дето не
се оправят от разстояние... Ако имаш някаква идея моля помогни
новобранец. Съжалявам ако задавам глупав въпрос но
ме интересува как да преодолея това съобщение т.е. какво да направя
за да си реша проблема? Дано само да не е от тизи проблеми дето не
се оправят от разстояние... Ако имаш някаква идея моля помогни
Re: хм ..
Значи ако не знаеш какво означават термините
Primary Key - Първичен ключ
Foreign Key - Външен ключ
Наистина нищичко не разбираш и просто задължително трябва да попрочетеш малко от АБВ-то на релационните бази данни.
Иначе все едно да питаш във форум на автомобилни майстори как се ремонтира ABS-а без въобще да знаеш да знаеш, че автомобилите имат спирачки нито за какво служат.
В твоя случай Java-та ти се свързва с някаква База Данни на MySQL в която нещата са организирани според определена логика. Тази лагика трябва да ти е известна з ада можеш да се съобразяваш с нея
salle.online.bg/sig
Primary Key - Първичен ключ
Foreign Key - Външен ключ
Наистина нищичко не разбираш и просто задължително трябва да попрочетеш малко от АБВ-то на релационните бази данни.
Иначе все едно да питаш във форум на автомобилни майстори как се ремонтира ABS-а без въобще да знаеш да знаеш, че автомобилите имат спирачки нито за какво служат.
В твоя случай Java-та ти се свързва с някаква База Данни на MySQL в която нещата са организирани според определена логика. Тази лагика трябва да ти е известна з ада можеш да се съобразяваш с нея
salle.online.bg/sig
Редактирано от salle на
Re: хм ..
Здравей отново.
Знам какво е Primary Key - а
Foreign Key само съм си представял, че знам. Като се прибави и фактът, че аз ползвам hibernahte ([линк]) и той си генерира заявката т.е. не я виждам наяве става
да не ти обяснявам. Напълно съм съгласен с теб, че трябва да прочета
нещичко за БД.
Можеш ли да ми препоръчаш нещо, което не е пълно с много "локуми" и е
достатъчно изчерпателно (по възможност на български)?
Благодаря предварително!
Знам какво е Primary Key - а
Foreign Key само съм си представял, че знам. Като се прибави и фактът, че аз ползвам hibernahte ([линк]) и той си генерира заявката т.е. не я виждам наяве става
да не ти обяснявам. Напълно съм съгласен с теб, че трябва да прочета
нещичко за БД.
Можеш ли да ми препоръчаш нещо, което не е пълно с много "локуми" и е
достатъчно изчерпателно (по възможност на български)?
Благодаря предварително!
Re: хм ..
Настрой си приложението така, че hibernate-а да си пише заявките в логовете/конзолата...
По отношение на книга за основите на СУБД/SQL можеш да прочетеш поне първата половина на "Teach yoursef sql in 21 days". На доста разбираем език е и има доста примери. Само че е на английски, но трябва да свикваш;)
По отношение на книга за основите на СУБД/SQL можеш да прочетеш поне първата половина на "Teach yoursef sql in 21 days". На доста разбираем език е и има доста примери. Само че е на английски, но трябва да свикваш;)
Re: хм ..
Здравей. Аз съм си направил 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)
Което пак казвам, че за мен не е много информативно....
Благодаря ти за съвета от къде да чета!
т.е. 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: хм ..
Настрой си сaмия MySQL да логвa всички получени SQL заявки във файл и после ги гледай и сравнявай със структурта на таблицата. Аз така като гледам съобщението ми се струва, че в базата има поле излишно маркирно като foreign key. Но това е само доста груба догадка, понеже от съобщението за грешка не може да се определи какво е объркано в настройките нa hibernate.