автообнаружение гибернации и генерация сопоставлений базы данных с POJO - PullRequest
2 голосов
/ 21 ноября 2008

Существуют ли какие-либо инструменты, которые автоматически генерируют спящие POJO, собирая информацию из базы данных?

Я сделал скрипт на Perl, чтобы сделать это после того, как схема была изменена в третий или четвертый раз в проекте, с которым я работаю, и просто подумал, есть ли какой-нибудь установленный инструмент, который сделает это для меня, так как мой скрипт довольно сырой и нуждается в некоторой настройке сгенерированных .java и .hbm.xml файлов.

Например (на основе того, что делает мой скрипт), имея таблицу statement:

Object_Name  Type_Name Base_Type Nulls Identity
------------ --------- --------- ----- --------
id           id_int    int       no    yes
id_user      id_tiny   tinyint   no    no
value        float     float     no    no

Я бы хотел, чтобы программа автоматически генерировала следующую версию Java:

package com.some.company.schema;

import java.io.Serializable;

public class Statement implements Serializable {
    private static final long serialVersionUID = 1227171190L;
    private Integer id;
    private User user;
    private Float value;

    public void setId(Integer id){
        this.id = id;
    }

    public Integer getId(){
        return this.id;
    }

    public void setUser(User user){
        this.user = user;
    }

    public User getUser(){
        return this.user;
    }

    public void setValue(Float value){
        this.value = value;
    }

    public Float getValue(){
        return this.value;
    }
}

И соответствующий файл отображения Hibernate:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.some.company.schema.Statement" table="statement">
        <id name="id" column="id">
            <generator class="native" />
        </id>
        <many-to-one name="user" class="com.some.company.schema.User" column="id_user" not-null="true" />
        <property name="value" column="value" not-null="true" />
    </class>
</hibernate-mapping>

Ответы [ 3 ]

3 голосов
/ 04 декабря 2008
1 голос
/ 21 ноября 2008

Netbeans отлично справляется с генерацией аннотаций, которые будут работать с hibernate-annotations / rightmanager. Я также использовал Hibernate Tools / JBoss IDE в Eclipse для их генерации, и это работало довольно хорошо.

0 голосов
/ 21 ноября 2008

См. Инструменты гибернации

http://www.hibernate.org/hib_docs/tools/reference/en/html_single/

Не уверен насчет схемы из Pojos но определенно из файлов hbm.xml в pojos.

Также доступны плагины Maven, которые делают автоматизированные сборки мечты Пол

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...