Комментарии 26
Как вступительная статья ок.
Пара замечаний:
1. Хорошим тоном является прописывание имени таблицы всегда (@Table(name =«TABLE_NAME»)) даже в том случае, если имя класса совпадает с именем таблицы.
2. То, что вы пишете внутри @Column за исключением имени колонки имеет значение, только если вы генерите базу по коду. В рантайме эти аттрибуты не используются.
3. Не всегда с хибернейтом работают на прямую. Он реализует спецификацию JPA, таким образом программист никаких Session никогда не увидит.
Пара замечаний:
1. Хорошим тоном является прописывание имени таблицы всегда (@Table(name =«TABLE_NAME»)) даже в том случае, если имя класса совпадает с именем таблицы.
2. То, что вы пишете внутри @Column за исключением имени колонки имеет значение, только если вы генерите базу по коду. В рантайме эти аттрибуты не используются.
3. Не всегда с хибернейтом работают на прямую. Он реализует спецификацию JPA, таким образом программист никаких Session никогда не увидит.
+7
благодарю Вас за ценные замечания, уверен это также поможет новичкам при быстром старте
0
>> 2. То, что вы пишете внутри @Column за исключением имени колонки имеет значение, только если вы генерите базу по коду. В рантайме эти аттрибуты не используются.
А как же insertable & updatable?
А как же insertable & updatable?
+4
По пункту 2. Работает not-null в рантайме.
0
НЛО прилетело и опубликовало эту надпись здесь
вы имеете ввиду маппинг при помощи xml а не аннотаций?
0
НЛО прилетело и опубликовало эту надпись здесь
Последний раз видел мапиннги в живом проекте где-то 4 года назад и уже тогда это казалось слишком громоздким и неудобным. Хотя, в теории, да, маппинг стоит отделять от самих объектов. Но на практике — в коде с JPA-аннотациями проще ориентироваться, так как всё собрано вместе.
+3
НЛО прилетело и опубликовало эту надпись здесь
xml — маппинг является единственным способом связать JavaBean с hibernato'm если нету возможности редактировать этот самый бин. Например если бин генерируется по xsd описанию через jaxb
0
У вас странные представления об эстетике :-)
+3
А есть для Hibernate какой-то аналог FluentNHibernate? Мне всегда больше нравилось прописывать маппинг не в xml, и не в аннотациях (чтобы сохранить классы доменной модели POJO), а с помощью fluent интерфейса.
0
Эх, была бы такая статья года два назад, возможно не стали бы писать свою библиотеку ( code.google.com/p/jdbc-proc/ ) для маппинга хранимых процедур на классы.
+1
А Maven-прототипа нет для hibernate?
0
Это точно не «для самых маленьких». Я, как начинающий, ничего не понял из статьи. Какие-то обрывочные наброски. Ни структуры проекта, ни как коннектор настроить, ни куда файлы класть. Из статьи только понятно, что вам что-то понятно. Вот пример хорошего тутора: www.mkyong.com/hibernate/maven-3-hibernate-3-6-oracle-11g-example-xml-mapping/
0
Вы наверно путаете, если бы я назвал статью «Java для самых маленьких», то конечно бы рассказал про структуру проекта, как создавать и т.п. А так, если кто-то даже структуру создать не может, то наверно про Hibernate ему еще рано читать. Насчет настройки коннекшена. Да, туториалы этого хорошего человека mkyong многим в свое время помогли, за что ему огромное спасибо.
0
Кстати, теперь появился Hibernate для языка D (HibernateD) dlang.ru/hibernated---orm-dlya-d
0
Спасибо. Очень полезная статья. Особенно про связб многие-ко-многим.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Hibernate для самых маленьких и не только