demorei mas vou postar :lol:
Bom, o que eu irei por como exemplo aqui, é um Bean e o uso do Xdoclet+Ant para gerar os arquivos .hbm.xml.
Se o seu problema for no funcionamento do Hibernate, esse exemplo não é para essa razão, mas ajuda na criação dos arquivos xml.
Arquivo Pessoas.java
/*Created on 05/01/2004*/
package br.com.junior.database;
/**
* @hibernate.class table="Pessoas"
* @author Junior
*/
public class Pessoas {
private int ID;
private String nome;
/**
* @hibernate.id generator-class="native"
* @return
*/
public int getID() {
return ID;
}
/**
* @hibernate.property
* @return
*/
public String getNome() {
return nome;
}
Esse aqui é um pedaço de um Bean, e nele que iremos colocar as tags para o Ant + Xdoclet fazer os arquivos .xml
os @hibernate, são as tags.
No começo eu informei qual classe esse Bean faz referência, depois falei qual o ID e depois o property.
Existem outras tags, que você pode ver na página do hibernate e do xdoclet. Mas o básico é essa ae mesmo.
Arquivo build.properties
xdoclet.dir = /mnt/servidor/ferramentas/xdoclet/lib
pacote = br/com/junior
Nota que o xdoclet.dir é o local onde estão as libs do xdoclet, no caso está em um servidor de arquivos, no diretório ferramentas/xdoclet/lib
o pacote é o pacote padrão que eu uso, por exemplo br.com.junior e dentro desse pacote terá um pacote chamado database onde eu armazeno meus Beans
Arquivo build.xml
<project name="Teste" default="generate.hibernate" basedir=".">
<property file="build.properties"/>
<path id="xdoclet.classpath">
<fileset dir="${xdoclet.dir}" includes="*.jar"/>
</path>
<!--Target do Hibernate-->
<target name="generate.hibernate" description="Gerar os arquivos .hbm.xml">
<!-- Tarefa do Hibernate -->
<taskdef name="hibernatedoclet"
classname="xdoclet.modules.hibernate.HibernateDocletTask">
<classpath>
<fileset dir="${xdoclet.dir}">
<include name="*.jar"/>
</fileset>
</classpath>
</taskdef>
<!-- Executa a Tarefa do Hibernate -->
<hibernatedoclet
destdir="${basedir}"
excludedtags="@version,@author,@todo"
force="${basedir}"
mergedir="${basedir}"
verbose="false">
<fileset dir="${basedir}">
<include name="**/database/*.java"/>
</fileset>
<hibernate/>
</hibernatedoclet>
<!-- Muda de Hibernate 1.x para o Hibernate 2 -->
<replace dir="${basedir}">
<include name="**/database/*.hbm.xml"/>
<replacefilter token="readonly=" value="inverse="/>
<replacefilter token="role=" value="name="/>
<replacefilter token="hibernate-mapping.dtd" value="hibernate-mapping-2.0.dtd"/>
</replace>
</target>
</project>
dentro dele você irá ver o database, caso você queira trabalhar com outro folder para armazenar os Beans, é só alterar ae no build.xml.
Deixe os arquivos build.xml e build.properties na raíz do seu software, depois é só rodar o build.xml toda vez que você criar ou alterar um Bean e pronto!! seus arquivos .hbm.xml serão criados dentro do pacote, no local exato onde devem ser criados para o funcionamento do hibernate.
Outro detalhe, você pode usar outras ferramentas, como Maven + xdoclet, ou melhor ainda, o middlegen, esse por sinal é bem completo, você desenha suas tabelas em forma de diagrama, faz os relacionamentos, e depois manda gerar os xml, e com a maioria dos bancos de dados ele cria também a tabela. Vale a pena dar um olhada, eu fiz um teste básico com o mysql e funcionou normal, estou quase mudando minha forma de trabalhar atual, para o middlegen 