Как стать автором
Обновить

Комментарии 26

Как вступительная статья ок.
Пара замечаний:

1. Хорошим тоном является прописывание имени таблицы всегда (@Table(name =«TABLE_NAME»)) даже в том случае, если имя класса совпадает с именем таблицы.

2. То, что вы пишете внутри @Column за исключением имени колонки имеет значение, только если вы генерите базу по коду. В рантайме эти аттрибуты не используются.

3. Не всегда с хибернейтом работают на прямую. Он реализует спецификацию JPA, таким образом программист никаких Session никогда не увидит.
благодарю Вас за ценные замечания, уверен это также поможет новичкам при быстром старте
>> 2. То, что вы пишете внутри @Column за исключением имени колонки имеет значение, только если вы генерите базу по коду. В рантайме эти аттрибуты не используются.

А как же insertable & updatable?
Эти используются, сорри. Пруф
По пункту 2. Работает not-null в рантайме.
НЛО прилетело и опубликовало эту надпись здесь
вы имеете ввиду маппинг при помощи xml а не аннотаций?
НЛО прилетело и опубликовало эту надпись здесь
Последний раз видел мапиннги в живом проекте где-то 4 года назад и уже тогда это казалось слишком громоздким и неудобным. Хотя, в теории, да, маппинг стоит отделять от самих объектов. Но на практике — в коде с JPA-аннотациями проще ориентироваться, так как всё собрано вместе.
НЛО прилетело и опубликовало эту надпись здесь
Некоторые люди поддерживают проекты на Delphi, но это не повод его изучать.

P.s. У нас тоже еще используется xml маппинг — будь он проклят…
xml — маппинг является единственным способом связать JavaBean с hibernato'm если нету возможности редактировать этот самый бин. Например если бин генерируется по xsd описанию через jaxb
Хороший пример. Согласен, что в этом случае XML-маппинг — наименьшее из зол.
У вас странные представления об эстетике :-)
Связи конечно страшно прописываются Аннотациями
А есть для Hibernate какой-то аналог FluentNHibernate? Мне всегда больше нравилось прописывать маппинг не в xml, и не в аннотациях (чтобы сохранить классы доменной модели POJO), а с помощью fluent интерфейса.
Насколько мне известно — нет. Возможно c приходом Java 8 с замыканиями появится такая же удобная реализация.
Эх, была бы такая статья года два назад, возможно не стали бы писать свою библиотеку ( code.google.com/p/jdbc-proc/ ) для маппинга хранимых процедур на классы.
Ну право не стоит, свои велосипеды тоже очень помогают разобраться в теме, я уверен Вы теперь отлично разбираетесь и в маппинге и в JPA и в создании своих аннотаций. А вообще очень не дурно, даже со спрингом интеграция есть. Молодцы одним словом!
А Maven-прототипа нет для hibernate?
Это точно не «для самых маленьких». Я, как начинающий, ничего не понял из статьи. Какие-то обрывочные наброски. Ни структуры проекта, ни как коннектор настроить, ни куда файлы класть. Из статьи только понятно, что вам что-то понятно. Вот пример хорошего тутора: www.mkyong.com/hibernate/maven-3-hibernate-3-6-oracle-11g-example-xml-mapping/
Вы наверно путаете, если бы я назвал статью «Java для самых маленьких», то конечно бы рассказал про структуру проекта, как создавать и т.п. А так, если кто-то даже структуру создать не может, то наверно про Hibernate ему еще рано читать. Насчет настройки коннекшена. Да, туториалы этого хорошего человека mkyong многим в свое время помогли, за что ему огромное спасибо.
Спасибо. Очень полезная статья. Особенно про связб многие-ко-многим.
Спустя 8 лет стыдно читать это все, в ближайшем будущем данная «статья» будет переработана.
Нормально! ;) Ну за 8 лет я думаю экспиренса поднакопилось достаточное количество. :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории