|
|
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
<id name="id" type="integer" unsaved-value="null" > <generator class="identity"/> </id> Но в таком случае мне придется добавлять столбец id в таблицу. Если я пишу так: <id type="integer" unsaved-value="null" > <generator class="identity"/> </id> То добавлять столбец в таблицу не приходится, но при любой выборке типа "from hiber.CatImp1 " возникает ошибка SQLException catimp1_id column not found... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:01 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
может сначало решите проблему с вашей базой в которой нет PK? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:09 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Я интересовался у людей плотно работающих с базами, мне сказали что пк желателен, но не обязателен. Я работаю с их базой. Что мне делать в случае hibernate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:28 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Вот еще вопрос.. В SQL я могу связать две любые таблицы про полю одного типа... select * from table1 t1 inner join table2 t2 on t1.name=t2.title Как проделать это с помощью HQL запроса? Непонятно. Подскажите hibernate новичку люди добрые. Хибернейтный inner join делает немного другое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:39 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Alexey TurnЯ интересовался у людей плотно работающих с базами, мне сказали что пк желателен, но не обязателен. Что????????? Alexey TurnЧто мне делать в случае hibernate. Вернуться к старому доброму JDBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:53 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Alexey Turn Т.е. ПК нет вообще или он есть но без constraint'а или индекса? Вы как запросы к такой БД пишите? Пример можно? Я интересовался у людей, плотно работающих с базами.. Обычно таких людей предлагают отстреливать, чтобы не портили генофонд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:56 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
funikovyuri Alexey Turn Т.е. ПК нет вообще или он есть но без constraint'а или индекса? Вы как запросы к такой БД пишите? Пример можно? Я интересовался у людей, плотно работающих с базами.. Обычно таких людей предлагают отстреливать, чтобы не портили генофонд... люди всякие нужны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:58 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
не спорю. я думаю Алексей их как-то неправильно понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:06 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
funikovyuri Alexey Turn Т.е. ПК нет вообще или он есть но без constraint'а или индекса? Вы как запросы к такой БД пишите? Пример можно? Я интересовался у людей, плотно работающих с базами.. Обычно таких людей предлагают отстреливать, чтобы не портили генофонд... Слишком категорично... Отсутствие pk - нормальная ситуация. С этим можно и нужно жить (ц) не знаю кто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:07 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
TimmОтсутствие pk - нормальная ситуация. С этим можно и нужно жить (ц) не знаю кто Можно уточнить, "нормальная" - в смысле "широко распространненная в нашем несовершеном мире криворуких головотяпов - разработчиков" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:27 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Timm да не вопрос! это у меня настроение наверное сегодня такое ;) PS> я думаю все-таки кто-то кого не понял и пока Алексей ясно картину не нарисует обсуждать по-сути нечего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:28 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
XM TimmОтсутствие pk - нормальная ситуация. С этим можно и нужно жить (ц) не знаю кто Можно уточнить, "нормальная" - в смысле "широко распространненная в нашем несовершеном мире криворуких головотяпов - разработчиков" ? Я этого не говорил :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:00 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Началось, как я уже говорил с хибернэйта. Головотяпом- разработчиком в данном случае выступаю я. В моем веб- приложении есть 2 таблицы (На самом деле их больше но интересны эти.) Моя mysql база синхронизируется с базой database developerov, т.е происходит закачка справочников от них ко мне. Таблица 1 : название: price поле price_id int pk поле id_nprice int pk поле price_title varchar Первые два поля композитный ключ(точно не знаю как это называется) но по ним однозначно определяется строка таблицы. В своей базе я не стал обзывать эти поля primary key, потому, что предполагаю что таблица из которой я импортирую данные зараннее корректна. Эту проблему я предполагаю решить следующим образом: навесить таки primary keys на поля. Замапить composite id в hibernate. Далее... Есть вторая таблица: имя: links поля: price_id int pk field1 int pk field2 int pk field3 int pk id_nprice int Все поля в этой таблице кроме id_nprice составляют пк. Вопрос как с помощью хибернэйт реализовать sql выборку: select * from price p inner join links l on (p.price_id=l.price_id AND p.id_nprice=l.id_nprice); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:01 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Пока забил на все и написал Connection conn= session.connection().. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:03 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Поправьте, если я ошибаюсь, но Hibernate, как и прочие ORM, всегда требует наличия ID (простых или composite). По теме http://www.hibernate.org/hib_docs/reference/en/html/components.html ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:16 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
хм по этой ссылке рассказывается про Component Mapping. Мне хотелось бы узнать как замапить композитный пк и что потом с ним можно делать... именно об этом я щас и читаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:30 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Сейчас оказывается что использование композитных ключей вобще не рекомендовано создателями hibernate и якобы лучше использовать суррогатные ключи, т.е добавлять суррогатный.. лишний столбец ключа в таблицу. При использовании композитных ключей приходиться возиться с equals() и hashCode() ами, что немного напрягает и сложно для понимания. Если придется ставить суррогатный ключ, то получается что на него надо в любом случае ставить счетчик- auto_increment. Иначе при закачке данных в таблицу не через хибернэйт никакой генерации суррогатных ключей не будет. Последнее время хибернэйт нравится мне все меньше и меньше... может те кому хорошо с хибернэйт поделятся секретами счастья? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 09:40 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Alexey Turn При использовании композитных ключей приходиться возиться с equals() и hashCode() ами, что немного напрягает и сложно для понимания. Спешу огорчить - с ними нужно будет "возиться" в любом случае... Так что если это "сложно для понимания" то мой совет дождаться момента, когда будет не сложно. Hibernate чрезвычайно полезная и мощная вещь, но он требует больших базовых знаний и по ООП и по РСУБД. Его очень сложно осилить не имя большого опыта в этих областях за плечами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 11:12 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Просто возникает законный вопрос. Надо ли оно мне.. ради обычного inner join мапить две таблицы, создавать композитные ключи, переопределять методы equals и hashCode() и писать для двух таблиц 6 файлов.. два интерфейса два класса два xml маппинга и два теста.. итого 8 .. Что мне это даст, какие преимущества это противопоставит обычному jdbc, для которого здесь нужен будет всего один exequteQuery(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 15:10 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
При такой постановке вопроса - конечно ничего не даст. А что вы от hibernate ждали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 15:36 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Привет Всем, я, как вижу, нашего полку прибыло, еще один hiberneto-ненависник вырисовывается... Привет коллеге. На самом деле все просто. Я, да и Алексей наверно, привыкли _мыслить_ понятиями базы, а hibernate предпологает _мыслить_ понятиями ООП. А сии взгляды очень расхожи. А главное, мыслить и так и сяк одновременно невозможно (в рамках одного проекта). Имея кой-какой опыт работы с базой уже привыкаешь к кой-каким реальностям (отсутсвие ПК например). Оч.часто приходиться работать воще не со своей базой, а с чужой, спроектированной, может не лучшим образом. Ну а тут еще hibernate начинает палки в колеса ставить своими _принцыпами_. Я ничего не имею супротив ООП. И hibernate в частности. Вот тольки стоит отдавать себе отчет в том, что вся его _мощь_ может быть использована только при наличии неких определенных (близких к идеальным) условиях. В остальных случаях можно получить много головной боли. В частности, кады начнешь мешать JDBC с hibernate. Сие можно сделать, но осторожно. По крайней мере понимая, как hibernate работает с базой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 17:54 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
andrushok вилами по воде... в общем полностью не согласен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 18:20 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Так уж и со ВСЕМ? А можно поподробнее? Таки hibernate еще не покинул моих планов ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 21:58 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
andrushokТак уж и со ВСЕМ? А можно поподробнее? Таки hibernate еще не покинул моих планов ... Имхо, книжка "hibernate in action" ответит быстрее и на большее число вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2005, 20:24 |
|
||
|
Что делать если у меня нет первичного ключа в базе , а hibernate требует его явно писать.
|
|||
|---|---|---|---|
|
#18+
Ну шо за такой народ ленивый пошел. Да читал я Ваши книжечки. И не только. Терзал сей hibernate по мере сил и возможностей. Дык Вы хоть чой-то реальное на нем пишите? Я честно признаюсь - не писал еще. Только примерчики всяки... Поэтому и вопросов, больше чем ответов. Ну дык, коли лень поднять зад, давайте небольшой опросец забацаем. Я вопросики просты задам, а коме не совсем влом, пусть тольки да-нет ответит (ну ежели совсем не влом, комментарии тольки приветсвуются ...). Вы кстати, тоже вопросики добавлять могете (опять таки если не влом...). Я уж отвечу, не поленюся. Итак, поехали 1) Hibernate ускоряет разработку простых и средних приложений 2) Hibernate ускоряет разработку сложных приложений 3) Не рекомендуется мешать hibernate и JDBC 4) Hibernate заменяет понятие RDB на что-то типа "Persistent objetcs in DB" 5) Hibernate не рекомендует использовать native SQL 6) Hibernate работает медленнее, чем если реализовывать через JDBC 7) Сей топик породил еще одного (как миниум) hibernato-ненависника 8) ООП - панацея на все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2005, 05:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33074753&tid=2152339]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 414ms |

| 0 / 0 |
