Hibernate "генерируется инструментами Hibernate" - PullRequest
10 голосов
/ 15 июня 2011

Когда я генерирую спящие классы в Eclipse, все файлы классов обновляются, хотя в базу данных были внесены реальные изменения. Единственным изменением в большинстве файлов является строка комментария: // Сгенерировано 15 июня 2011 г. 6:50:40 утра Hibernate Tools 3.4.0.CR1.

Изменение этой строки при каждой регенерации не удобно, так как это нарушает отслеживание изменений в SVN.

Есть ли где-нибудь, чтобы дать команду процессу генерации не генерировать эту линию?

Ответы [ 2 ]

3 голосов
/ 26 июня 2011

Настройка шаблона freemarker (как объяснено в CuppM) - это способ сделать это. Вы не обязаны помещать настроенный шаблон обратно в банку, хотя. Например, если вы используете задачу муравья hibernate, вы можете указать атрибуты "templatepath" и hbmtemplate:

<hibernatetool destdir="hibernate-model-gen/pojo" templatepath="hibernate-model-gen/customized-templates">
    <jdbcconfiguration configurationfile="hibernate-model-gen/hibernate.cfg.xml" packagename="open.pub.proto.core.model" revengfile="hibernate-model-gen\gen-conf\hibernate.reveng.xml" detectmanytomany="true" />
    <hbmtemplate templateprefix="pojo/" template="pojo/Pojo.ftl" filepattern="{package-name}/{class-name}.java">
        <property key="jdk5" value="true" />
        <property key="ejb3" value="true" />
    </hbmtemplate>
</hibernatetool>

Кроме того, рекомендуется создавать pojos в выделенном каталоге, а не в pojos исходного кода. Затем вы можете копировать только pojos, которые изменились на pojos кода soure.

3 голосов
/ 15 июня 2011

Я нашел это: https://forum.hibernate.org/viewtopic.php?f=6&t=989777&view=next

Я использую Windows 7 и NetBeans 7, поэтому файл hibernate-tools.jar был найден здесь: C:\Program Files\NetBeans 7.0\java\modules\ext\hibernate.Поскольку каталог Program Files обычно доступен только для чтения, мне пришлось открыть jar с помощью WinZip, который был открыт с правами администратора.NetBeans должен быть закрыт для изменения файла jar.

Затем я просто перешел к файлу /pojo/Pojo.ftl (для сгенерированного файла .java) и файлу hbm\hibernate-mapping.hbm.ftl (для сгенерированного.hbm.xml файл) и открыл их в блокноте.Я удалил только часть $(date), поэтому сохранил использованную версию Hibernate.Когда я сохранил файлы в Блокноте, Winzip обнаружил изменения и спросил меня, хочу ли я обновить файл .jar.

Затем, когда я перезапустил NetBeans и выполнил регенерацию моих файлов, дата исчезла.Что-то вроде боли, но это работает.

...