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

Java Web开发
浅谈http的无状态性
JFreeChart常用函数
为什么主流Java MVC框架如此难以使用
软件工程
JavaScript 中IE与FireFox不同之处
关于javascript 的贪婪与非贪婪模式
abstract class和interface的区别
java 写的一个蜘蛛程序
javascript 基本用法简介
java web开发中构建SOAP服务
用java匿名类来简化调试
Java Web开发构想
Java Web 开发的配置详解
WEB开发中的JAVA字符编码经验总结
孙鑫老师原创:Struts 2初体验
Hibernate常见的20个问题
关于Xdoclet生成hibernate映射文件
JAVA四种基本排序
提高Java代码可重用性的三个措施
孙鑫老师原创:XML Schema初窥(一)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 249 ::
收藏到网摘: 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任务来生成数据库文件