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