Gaúcho,

o build.xml abaixo gera tanto a classe como a tabela no banco de dados, usando o Hibernate. Seja se lhe atende.

<project name="Harnessing Hibernate: The Developer's Notebook" default="codegen" basedir=".">
<property name="source.root" value="j2src"/>
<property name="class.root" value="web/WEB-INF/classes"/>
<property name="lib.dir" value="web/WEB-INF/lib"/>
<property name="tomcatlib.dir" value="C:/java/tomcat/common/lib"/>


<path id="project.class.path">
<!-- Include our own classes, of course -->
<pathelement location="${class.root}" />
<!-- Include jars in the project library directory -->
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${tomcatlib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<!-- Teach Ant how to use Hibernate's code generation tool -->
<taskdef name="hbm2java" classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask" classpathref="project.class.path"/>


<!-- Generate the java code for all mapping files in our source tree -->
<target name="codegen" description="Generate Java source from the O/R mapping files">
<hbm2java output="${source.root}">
<fileset dir="${source.root}">
<include name="**/Secao.hbm.xml"/>
</fileset>
</hbm2java>
</target>
<!-- Create our runtime subdirectories and copy resources into them -->
<target name="prepare" description="Sets up build structures">
<mkdir dir="${class.root}"/>


<!-- Copy our property files and O/R mappings for use at runtime -->
<copy todir="${class.root}" >
<fileset dir="${source.root}" >
<include name="**/*.properties"/>
<include name="**/*.hbm.xml"/>
</fileset>
</copy>
</target>
<!-- Compile the java source of the project -->
<target name="compile" depends="prepare" description="Compiles all Java classes">
<javac srcdir="${source.root}" destdir="${class.root}" debug="on" optimize="off" deprecation="on">
<classpath refid="project.class.path"/>
</javac>
</target>
<!-- Generate the schemas for all mapping files in our class tree -->
<target name="schema" depends="compile" description="Generate DB schema from the O/R mapping files">
<!-- Teach Ant how to use Hibernate's schema generation tool -->
<taskdef name="schemaexport" classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask" classpathref="project.class.path"/>
<schemaexport properties="${class.root}/hibernate.properties" quiet="no" text="no" drop="no" delimiter=";">
<fileset dir="${class.root}">
<include name="**/*.hbm.xml"/>
</fileset>
</schemaexport>
</target>
</project>


atenciosamente,

Hildeberto Mendonça
Mentores Consultoria LTDA.
www.mentores.com.br


[EMAIL PROTECTED] wrote:

Prezados,

segue a minha avaliação sobre frameworks e agora estou na parte de
persistência dos objetos em um banco de dados.

eu gerei as classes do RSS a partir de um esquema XML - sem problemas, as
classes funcionam perfeitamente no sistema de testes feito sobre o Spring.
Agora pretendo persistir estas classes em algum banco de dados. Adotei
para teste o HSQLDB. * O banco é indiferente no momento porque eu estou
usando o ANT para acessá-lo, basta trocar o driver e pronto, qualquer
banco serve. As classes do meu estudo atual são triviais e as queries
também. Mais tarde, estarei me deleitando com características mais
avançadas de BD, agora só quero ver funcionar :)

A dúvida atual:

1) eu tenho as classes que serão persistidas no banco, e que foram geradas
pelo JAXB a partir do schema RSS 2.0.
2) eu preciso de tabelas no banco que representem a relação entre essas
classes (o mapeamento OO/ER).
3) Se eu gerei as classes a partir de um 'schema' XML, eu posso também
gerar o banco a partir do mesmo 'schema'? Imagino que isso iria garantir a
consistência entre as classes e o modelo ER. É possível? Como ?

valeu,

  Felipe Gaúcho
  Coordenador CEJUG
  http://cejug.dev.java.net




-------------------------------------------------------------------------------------------

Ceara' Java User Group



 Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

 Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

Falar com o administrador? e-mail para: [EMAIL PROTECTED]









-------------------------------------------------------------------------------------------

Ceara' Java User Group



 Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

 Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

Falar com o administrador? e-mail para: [EMAIL PROTECTED]






Responder a