关于Xdoclet生成hibernate映射文件


这次写的也是用之前的那个student例子作为试验,,如果有什么不清楚,,可以参考上面的设置,配置说明,,好,开始来生成我们的映射文件吧,,
  将类文件修改如下

package student;
/**


 * @hibernate.class table="students"
 * @author Administrator
 *
 */
public class Student {
 private Long id;
 private String name;
 private String sex;
 private String email;
 
 /**
  * @hibernate.property column="email"
  * @return
  */
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 
 /**
  * @hibernate.id generator-class="native" column="id"
  * @return
  */
 public Long getId() {
  return id;
 }
 public void setId(Long id) {
  this.id = id;
 }
 
 /**
  * @hibernate.property column="name"
  * @return
  */
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 
 /**
  * @hibernate.property column="sex"
  * @return
  */
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 
}

    @hibernate标签是Xdoclet对hibernate的支持,别问我上面的@hibernate.class  @hibernate.id @hibernate.property是什么意思,如果你真的想要生成hibernate映射文件,就自己找本书或查Xdoclet帮助文档了解下

接下来在D:\workspace\student   下新建xdoclet-build.xml和hibernate.properties文件

    Xdoclet-build.xml如下:

 

<project name="xdoclet-build.xml" default="copy_generation">
 <property name="classes.dir" value="bin" />
 <property name="lib.dir" value="../lib" />
 <property name="src.dir" value="src"/>
 <property file="hibernate.properties"/>
 
 <path id="lib.classpath">
  <fileset dir="${lib.dir}">
   <include name="**/*.jar"/>
  </fileset>
 </path>
 
 <path id="src.classpath">
  <pathelement location="${src.dir}"/>
 </path>
 
 <path id="runtime.classpath">
  <path refid="lib.classpath"></path>
  <path refid="src.classpath"></path>
 </path>
 
 <target name="copy_generation" depends="xdoclet_generation">
  <copy todir="${classes.dir}">
   <fileset dir="${src.dir}">
    <include name="**/*.xml"/>
   </fileset>
  </copy>
 </target>
 
 <target name="xdoclet_generation" >
  <taskdef name="hibernatedoclet"
   classname="xdoclet.modules.hibernate.HibernateDocletTask"
   classpathref="runtime.classpath"
  />
  <hibernatedoclet destdir="${src.dir}" verbose="true">
    <fileset dir="${src.dir}">
     <include name="**/*.java"/>
    </fileset>
   <hibernate version="3.0"/>
   <hibernatecfg
    dialect="${hibernate.dialect}"
    jdbcUrl="${hibernate.connection.url}"
    driver="${hibernate.connection.driver_class}"
    username="${hibernate.connection.username}"
    password="${hibernate.connection.password}"
    showSql="false"
    version="3.0"
   />
  </hibernatedoclet>

 
 </target>

</project>

 


   hibernate.properties文件主要是存储数据库的连接信息,,如下:

            hibernate.dialect=org.hibernate.dialect.MySQLDialect
            hibernate.connection.url=jdbc:mysql://localhost/student
            hibernate.connection.driver_class=com.mysql.jdbc.Driver
            hibernate.connection.username=root
            hibernate.connection.password=

接着就用ant去build,就可以生成我们想要的文件了
如下:
D:\workspace\student\src\hibernate.cfg.xml
D:\workspace\student\src\student\Student.hbm.xml
D:\workspace\student\bin\hibernate.cfg.xml
D:\workspace\student\bin\student\Student.hbm.xml

      当然用Xdoclet生成映射文件之后就可以用之前的hibernate的schemaexport任务来生成数据库文件
具体参考http://www.blogjava.net/langsheng/archive/2007/04/08/109203.html


 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3