Существуют ли какие-либо инструменты, которые автоматически генерируют спящие 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>