当前位置: 首页 > 图文教程 > Java技术 > Java Web开发 > 关于Xdoclet生成hibernate映射文件

Java Web开发
孙鑫老师原创:XML Schema初窥(二)
Java开源技术:J2EE应用服务器
用java开发Email工具之发送邮件
Java数据库程序中的存储过程设计
JAVA IO 设计模式彻底分析
Java Web开发:Java模式设计之单例模式(一)
Java Web开发:Java模式设计之单例模式(二)
Java Web开发:基于JVM的语言正在开始流行
Java Web开发:Java语言的十大问题,你能解决吗?
Java Web开发:Struts2 中.action和.do的奥秘
Java web:孙鑫老师谈Servlet的线程模型
java Web开发:孙鑫老师谈Session和Cookie的深入研究
Java Web开发:在线人数统计程序
Java Web开发:小编概述JSP技术
Java Web开发:FreeMarker模板使用方法讲解
Java Web开发:Tomcat和IIS的配合
Java Web开发:小编谈JFreeChart统计柱形图表事例
Java Web开发:程序员之家七月份Java Web开发总结
Java Web开发:Tomcat和Apache的配合
Java Web开发:iBATIS延迟加载的那点事

Java Web开发 中的 关于Xdoclet生成hibernate映射文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 251 ::
收藏到网摘: n/a

这次写的也是用之前的那个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任务来生成数据库文件