Customer.java
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->package org.roadway.wisp.test;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
/**
* @hibernate.class table="ZD_COSTOMER"
*/
public class Customer implements Serializable
{
private static final long serialVersionUID = 939548333216539319L;
private Long customerId;
private String customerName;
private Date birthday;
private HashSet<Order> orders;
/**
* @hibernate.id generator-class="sequence" column="CUSTOMER_ID"
* unsaved-value = "null"
* @hibernate.generator-param name="sequence" value="SQ_PERSON_ID"
*
* @return
*/
public Long getCustomerId()
{
return customerId;
}
/**
* @hibernate.property column="CUSTOMER_NAME" length="32" not-null="true"
*/
public String getCustomerName()
{
return customerName;
}
/**
* @hibernate.property column="BIRTHDAY"
*/
public Date getBirthday()
{
return birthday;
}
/**
* @hibernate.set table="ZD_ORDER" lazy="true" inverse="true"
* @hibernate.key column="CUSTOMER_ID"
* @hibernate.one-to-many class="org.roadway.wisp.test.Order"
*/
public HashSet<Order> getOrders()
{
return orders;
}
public void setCustomerId(Long customerId)
{
this.customerId = customerId;
}
public void setCustomerName(String customerName)
{
this.customerName = customerName;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public void setOrders(HashSet<Order> orders)
{
this.orders = orders;
}
}
Order.java
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->package org.roadway.wisp.test;
import java.io.Serializable;
/**
* @hibernate.class table="ZD_ORDER"
*/
public class Order implements Serializable
{
private static final long serialVersionUID = 8989273619109202636L;
private Long orderId;
private String orderName;
private Double money;
private Customer customer;
/**
* @hibernate.id generator-class="sequence" column="ORDER_ID" unsaved-value =
* "null"
* @hibernate.generator-param name="sequence" value="SQ_ORDER_ID"
*
* @return
*/
public Long getOrderId()
{
return orderId;
}
/**
* @hibernate.property column="ORDER_NAME" length="32" not-null="true"
*/
public String getOrderName()
{
return orderName;
}
/**
* @hibernate.property column="MONEY" not-null="true"
*/
public Double getMoney()
{
return money;
}
/**
* @hibernate.many-to-one column="teacher_id" not-null="true"
*/
public Customer getCustomer()
{
return customer;
}
}
xdoclet.xml
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><?xml version="1.0"?>
<project name="xdoclet" default="hibernate.mapping.generate" basedir=".">
<property name="project.src" value="test"/>
<property name="po.package" value="org/roadway/wisp/test"/>
<property name="xdoclet.lib" value="E:/user_hvp/xdoclet-plugins-dist-1.0.4/lib"/>
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.lib}">
<include name="*.jar" />
</fileset>
<pathelement location="${xdoclet.lib}/xdoclet-plugin-hibernate-1.0.4.jar" />
</path>
<taskdef name="xdoclet" classname="org.xdoclet.ant.XDocletTask" classpathref="xdoclet.task.classpath" />
<target name="hibernate.mapping.generate">
<xdoclet>
<fileset dir="${project.src}">
<include name="${po.package}/*.java" />
</fileset>
<component classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin" destdir="${basedir}/${project.src}" version="3.0" />
</xdoclet>
</target>
</project>
xdoclet1.x不支持泛型,xdoclet2支持!!
分享到:
相关推荐
通过分析这些例子,开发者可以快速掌握XDoclet的使用方法,并将其应用于自己的项目中。 总结来说,XDoclet是一个强大的Java代码生成工具,它通过解析Javadoc注释来自动化生成各种配置文件,从而减轻开发负担。在...
在这个例子中,XDoclet会扫描`src/main/java`目录下的所有Java文件,根据注解生成相关的配置文件。 接着,我们关注XDoclet在Web应用中的作用。在web.xml文件的维护上,开发者可以使用XDoclet的注解来生成或更新部署...
下面通过一个具体的例子来详细介绍Xdoclet标签的使用方法: ```java /** @hibernate.class table="T_Party" */ public class Party { /** @hibernate.id generator-class="native" */ private int id; /** @...
在上述例子中,我们看到一个`Party`类,它使用了特定的Xdoclet注释来描述Hibernate映射关系。例如,`@hibernate.class`定义了这是一个Hibernate实体,`@hibernate.id`表示`id`字段是主键,`@hibernate.many-to-one`...
在这个例子中,`<xdoclet>`任务会扫描`src`目录下的所有Java源文件,使用`custom_spring_xml.xdt`模板生成相应的配置文件。`xdoclet.properties`文件可以用来设置更多选项或覆盖默认配置。 值得注意的是,随着Java...
在这个例子中,`xdoclet` 任务会处理 `src/main/java` 目录下的所有 Java 文件,并将生成的 Hibernate 映射文件输出到 `src/main/resources/META-INF` 目录下。 ### Xdoclet 功能扩展 除了 Hibernate 支持,...
在“XDoclet插件包以及从Java持久化类生成hibernate mapping小例子”中,我们重点关注的是如何通过XDoclet从Java持久化类生成与Hibernate相关的配置文件。首先,我们需要在Java类中添加特定的XDoclet注解,这些注解...
以下是一个使用XDoclet生成Struts配置文件的例子。在Java源代码中,我们添加了`@struts.action`和`@struts.action-forward`注释,指明了Action的路径以及ActionForward的信息。当执行相应的Ant任务时,XDoclet将根据...
举个例子,我们可以考虑一个搜索引擎项目。这个项目的高阶模型包括HTML/文本文件、索引、应用程序(EAR)、源代码等组件。技术架构涉及EJB容器、Struts框架、Lucene搜索引擎API等。在这个项目中,XDoclet可能被用来...
2. **XDoclet标签**:定义在Java源代码中的注释,用于指导XDoclet如何生成代码。 3. **模板文件**:预定义的模板文件,用于指定生成文件的具体格式和结构。 4. **XDoclet引擎**:负责解析Java源代码中的标记和模板...
这个示例通过整合Weblogic92、CXF、XDoclet和Spring,演示了如何高效地创建和部署Web服务,同时利用XDoclet自动化的代码生成功能简化了开发流程。开发者可以在此基础上学习如何在实际项目中运用这些技术和工具。
**2. 文档详解** XDoclet的文档通常包括用户指南、API参考和开发者手册。这些文档可以帮助用户了解如何使用XDoclet,包括: - 用户指南:提供如何安装、配置和使用XDoclet的基本步骤,以及各种注解的示例。 - API...
例如,一个简单的使用xdoclet生成.hbm.xml的例子可能如下: ```java /** * @hibernate.class table="User" */ public class User { /** * @hibernate.id generator-class="increment" */ private int id; ...
在描述中提到的"快速开发持久层的例子",意味着这个压缩包提供了一个实例,展示如何利用Ant、Hibernate和XDoclet来快速构建数据库操作的代码。它包含了源代码,这意味着我们可以看到实际的Java文件以及配置文件,...
一个最简单的Hibernate project(不涉及Struts, Tomcat, XDoclet,JBoss等东东)必须的几个东东: 1. Hibernate工具包。 2. JDBC数据库连接驱动。以mysql为例,mysql-connector-java-3.1.×-bin.jar。 3. 配置...
如果有问题,欢迎mail联系:arklis@126.com<br>运行环境是Window XP Professional SP2. 使用Tomcat 6.0, JDK 1.6, Xdoclet 1.2.3, Ant 1.7完成的第一个web工程演示应用。为完成这个例子,需要把log4j.jar文档...
如果有问题,请mail联系:arklis@126.com<br>运行环境是Window XP Professional SP2. 使用Tomcat 6.0, JDK 1.6, Xdoclet 1.2.3, Ant 1.7完成的第一个JSP自定义标签处理程序的web工程演示应用 (2. web ...
- **代码提示**:在Eclipse中安装相关的插件,比如XDoclet,它可以帮助生成和维护XML配置文件,提供代码提示等功能。 #### 七、命名空间与访问路径 在Struts2中,命名空间(`namespace`)是一个非常重要的概念,它...
以下是一个使用XDoclet插件生成Hibernate配置文件的例子: ```xml <path id="xdoclet.task.classpath"> ${xdoclet.home}/lib"> **/*.jar"/> ${xdoclet.home}/plugins"> **/*.jar"/> <taskdef name="...