|
|
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
Добрый день, коллеги! Проблема такая - имею 3 взаимосвязанных класса, вроде бы правильно замапленных (+ HasMany). Вызов коллекции "зависимого" класса нормально выдает список связанных объектов. Вызов экземпляра "главенствующего" объекта выдает null. Рассмотрим на простейшем примере. Модель данных: TASK --> PROJECT --> STATUS Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Вот этот null меня шибко беспокоит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2010, 09:59 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
Ассоциации с двух сторон прописали? Лучше бы маппинги вместо классов выложили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2010, 13:42 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
SolYUtorАссоциации с двух сторон прописали? Лучше бы маппинги вместо классов выложили. Ок! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2010, 22:20 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
Охо-хо. Имейте уважение к моим седым волосам. Этот код не проглотит даже компилятор. 1. Не понятно, зачем вам велосипед со свойством Project.STATUS_ID? 2. В маппинге класса Project ассоциация со статусом как таковым отсутствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2010, 23:19 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
SolYUtorОхо-хо. Имейте уважение к моим седым волосам. Этот код не проглотит даже компилятор. 1. Не понятно, зачем вам велосипед со свойством Project.STATUS_ID? 2. В маппинге класса Project ассоциация со статусом как таковым отсутствует. Коллега! Отвечу в порядке значимости (обратном). 2. Я действительно упустил связь проекта со статусом: Код: plaintext 1. 2. 0. У нас что, разный компилятор? Мой проглотил бы (вроде я не нашел катастрофических ошибок, хоть печатал от балды). Не хватает Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2010, 00:42 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
Курдль Коллега! Отвечу в порядке значимости (обратном). 2. Я действительно упустил связь проекта со статусом: Код: plaintext 1. 2. Если ассоциация на стороне Project'a не замаплена - то NHibernate и не подумает искать Status. Курдль 1. Про велосипед - не понял. Прошу меня извинить - в ORM я пока не силен (как видите - из-за скудости публикуемой литературы вынужден побираться на форумах). Прочитайте NNibernate In Action. Там хорошо разжёван NHibernate. Курдль 0. У нас что, разный компилятор? Мой проглотил бы (вроде я не нашел катастрофических ошибок, хоть печатал от балды). Не хватает Код: plaintext И это тоже, но компиляторы у нас точно разные. Мой отказывается глотать дважды написанный тип полей, двоеточие вместо точки с запятой, скобки после имени класса, и написанный просто в теле класса код маппинга. В общем если исправить все ошибки, и замапить Project.Status, то всё замечательно работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2010, 10:42 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
О ужас! Я и вправду накосячил однажды и не заметил этого в дальнейшем! SolYUtor, Спасибо! Книжку, указанную Вами, я имею. Но пролистал ее по диагонали. К сожалению мой Английский превращает изучение материала на языке автора из развлечения в труд. Надо взять себя в руки и проштудировать. Коллега! Вы производите впечатление специалиста, стремящегося к фундаментальному подходу. Так скажите же, в чем сила NHibernate в частности и ORM в целом? Действительно ли переход от традиционного метода к ней сулит повышение производительности производства ПО и его качества? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2010, 20:29 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
КурдльО ужас! Так скажите же, в чем сила NHibernate в частности и ORM в целом? Действительно ли переход от традиционного метода к ней сулит повышение производительности производства ПО и его качества? Вы задаёте слишком сложный вопрос, который трудно рассмотреть одним человеком в рамках одного топика )) Сила ORM - в уменьшении зависимости кода классов модели от инфраструктуры сохраняемости, и как следствие их упрощение. А простые классы легче поддерживать и тестировать. Но если у вас не в ходу TDD/BDD, непрерывная интеграция и "традиционная" архитектура "Большая Куча Кода" - вам от этого легче не станет. На производительность и качество влияют множество архитектурных, инфраструктурных и административных факторов. И NHibernate может стать всего лишь одним из них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2010, 23:36 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
SolYUtorНо если у вас не в ходу TDD/BDD, непрерывная интеграция и "традиционная" архитектура "Большая Куча Кода" - вам от этого легче не станет. До TDD/BDD мы еще не доросли, но "кучу кода" уже переросли. Перестроить процесс производства непросто... Для кого оптимален BDD? Для софтверных компаний, пишущих на заказ, выпускающих коробочные продукты, или IT подразделений холдингов, автоматизирующих собственный бизнес? Кто должен изъявить волю для перехода на BDD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 01:28 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
Курдль Для кого оптимален BDD? Для софтверных компаний, пишущих на заказ, выпускающих коробочные продукты, или IT подразделений холдингов, автоматизирующих собственный бизнес? Кто должен изъявить волю для перехода на BDD? TDD/BDD оптимален для любых программистов, которые хотят выпускать качественный продукт, и намереваются осуществлять его поддержку и развитие в будущем. Ошибок и нервотрёпки будет существенно меньше. Решение о переходе на разработку через тестирование принимает уполномоченное лицо. Архитектор проекта например, или ведущий программист. И всех остальных приучает к тестированию. Если вы не это лицо - то можете ознакомиться с трудами Кента Бека, набраться аргументов, и пропиарить TDD у оного лица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 12:09 |
|
||
|
NHibernate. Из 3-х зависимых объектов List выдает данные лишь о 2-х
|
|||
|---|---|---|---|
|
#18+
SolYUtor Решение о переходе на разработку через тестирование принимает уполномоченное лицо. Архитектор проекта например, или ведущий программист. И всех остальных приучает к тестированию. Если вы не это лицо - то можете ознакомиться с трудами Кента Бека, набраться аргументов, и пропиарить TDD у оного лица. Боюсь, что архитектором тут не обойтись. TDD на первый взгляд может ввести в заблуждение, что он является епархией разработчиков + тестировщиков. Здесь более показателен BDD (а он во многом перекликается с TDD), как технология, позволяющая максимально отфильтровывать ошибки уровня бизнес логики - ошибки в постановке задач и их понимания разработчиками . (Ошибки кодирования уж мы как-нибудь сами отловим!). Таким образом проблема оказывается шире - она выходит за рамки подразделений, производящих ПО. Она охватывает проектировщиков, аналитиков, технологов и даже уполномоченных представителей заказчиков. Ведь подвергаются изменению процессы и документы по формированию требований и стадиям их воплощения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=17&gotonew=1&tid=1351269]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
10ms |
get first new msg: |
10ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 384ms |

| 0 / 0 |
