- 浏览: 269488 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
Hibernate利用XDoclet自动生成配置文件
作者: 发布时间:2008-07-22 10:05:51 来源:育路计算机考试频道
many- to-many为例,有Position和User两张表,一个Position可以有多个Users,一个User也可以有多个 Position,中间的关联表为 test_user_position 。通过在PO中加入XDoclet,自动生成hbm配置文件。不废话,看代码。
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class table="test_position"
*/
public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" table="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
*/
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_position"
*/ 转 public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
*/
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class table="test_position"
*/
public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" table="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
贴于:Java认证考试_考试大
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
接下来是Users.java
Java代码
package test;
import java.util.*;
/** *//**
* @hibernate.class table="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set table="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
view plaincopy to clipboardprint?
package test;
import java.util.*;
/** *//**
* @hibernate.class <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
package test;
import java.util.*;
/** *//**
* @hibernate.class table="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set table="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
育路网
作者: 发布时间:2008-07-22 10:05:51 来源:育路计算机考试频道
many- to-many为例,有Position和User两张表,一个Position可以有多个Users,一个User也可以有多个 Position,中间的关联表为 test_user_position 。通过在PO中加入XDoclet,自动生成hbm配置文件。不废话,看代码。
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class table="test_position"
*/
public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" table="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
*/
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_position"
*/ 转 public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
*/
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
package test;
import java.util.Set;
import java.util.TreeSet;
/** *//**
* @hibernate.class table="test_position"
*/
public class Position ...{
private int id;
private int name;
private Set<Users> users = new TreeSet<Users>();
/** *//**
* @hibernate.id generator-class="identity" type="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public int getName() ...{
return name;
}
public void setName(int name) ...{
this.name = name;
}
/** *//**
* @hibernate.set inverse="true" lazy="true" table="test_user_position"
* @hibernate.collection-key column="position_id"
* @hibernate.collection-many-to-many class="test.Users" column="user_id"
贴于:Java认证考试_考试大
public Set<Users> getUsers() ...{
return users;
}
public void setUsers(Set<Users> users) ...{
this.users = users;
}
}
接下来是Users.java
Java代码
package test;
import java.util.*;
/** *//**
* @hibernate.class table="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set table="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
view plaincopy to clipboardprint?
package test;
import java.util.*;
/** *//**
* @hibernate.class <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set <A title=table href="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989 " target=_blank>table</A>="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
package test;
import java.util.*;
/** *//**
* @hibernate.class table="test_uses"
*/
public class Users ...{
private int id;
private String name;
private Set<Position> positions = new TreeSet<Position>();
/** *//**
* @hibernate.id generator-class="identity" typ="int"
*/
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
/** *//**
* @hibernate.property length="25"
*/
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
/** *//**
* @hibernate.set table="test_user_position" lazy="true"
* @hibernate.collection-key column="user_id"
* @hibernate.collection-many-to-many class="test.Position" column="position_id"
*/
public Set<Position> getPositions() ...{
return positions;
}
public void setPositions(Set<Position> positions) ...{
this.positions = positions;
}
}
育路网
发表评论
-
如何使用hibernate
2012-05-24 19:21 0一、选择Hibernate还是iBATIS都有它的道理: H ... -
关于hibernate自动建表和主键的数据类型的关系
2012-02-27 16:18 1142要想让hibernate自动建表, 1、除了 <prop ... -
用Spring+Hibernate链接时,在增删改时会报错: Write operations are not allowed in read-only mod
2011-09-11 19:53 882用Spring+Hibernate链接时,在增删改时会报错: ... -
[转]hibernate延迟加载
2011-04-26 11:41 5672007-12-01 [转]hibernate延迟 ... -
如何利用 myeclipse 生成Hibernate 配置文件
2011-04-18 18:13 1247在hibernate中,每个数据表对应的其实是一个实体类,每个 ... -
Hibernate Synchronizer是一个Eclipse插件,可以自动生成*.hbm文件、持久化类和DAOs
2011-04-18 18:00 1893Hibernate Synchronizer是一个Eclips ... -
Hibernate auto produce
2011-04-18 17:52 981Hibernate 中需要class和mapp ... -
使用动态代理实现用AOP对数据库进行操作
2011-04-12 14:11 946使用动态代理实现用AOP对数据库进行操作 2008-03-14 ... -
Hibernate中cascade与inverse属性详解
2011-04-01 16:20 938Hibernate中cascade与inverse属性详解 ... -
事务和事务边界
2011-03-31 15:44 101310.1.2 事务和事务边界 http://book.51ct ... -
事务传播行为种类
2011-03-31 15:31 820事务传播行为种类 Spring在TransactionDef ... -
Hibernate saveOrUpdate分析
2011-03-31 15:30 861* Hibernate s ... -
使用Spring AOP代理方式实现声明式事务的原理
2011-03-31 15:28 1205使用Spring AOP代理方式实 ... -
Hibernate Session缓存概述
2011-03-31 15:27 1004* Hibernate Session缓存 ... -
解说Hibernate的工作原理实例
2011-03-31 15:26 872* 解说Hibernate的工作原理实例 ... -
简述Hibernate配置连接池
2011-03-31 15:25 842* 简述Hiber ... -
简单解析J2EE数据持久层设计
2011-03-31 15:24 980* 简单解 ... -
浅析Hibernate Callback接口
2011-03-31 15:23 892* 浅析Hibernate Callbac ... -
概述Hibernate equals()方法
2011-03-31 15:22 768* 概述Hiber ... -
概括潜在的Hibernate性能问题
2011-03-31 15:21 945* 概括潜在的Hibernate性能问题 ...
相关推荐
《使用Hibernate和XDoclet生成映射文件与SQL语句详解》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,为了实现对象与数据库表之间的映射,我们需要编写XML映射...
为了解决这一问题,开发者可以利用xDoclet工具来自动生成Spring的bean配置文件,从而提高开发效率和代码的可维护性。 xDoclet是一个开源的Java文档注解处理器,它能够读取Java源代码中的特定注解,并根据这些注解...
而在使用Hibernate时,自动生成配置文件能够极大地提高开发效率,减少手动编写配置文件所带来的工作量以及错误。Xdoclet正是这样一个工具,它能够根据实体类上的注释来自动生成包括Hibernate在内的多种类型的文档。...
而Xdoclet则是用于自动生成Java源代码和配置文件的工具,它能够根据注释自动创建Hibernate所需的XML配置文件,比如`hibernate.cfg.xml`和`*.hbm.xml`。在早期,Xdoclet广泛用于简化Hibernate项目,避免手动编写大量...
XDoclet则在Javadoc注释的基础上,根据预设的模板自动生成Hibernate所需的配置文件和实体类,大大减少了手动编写这些文件的工作量。 在实际开发中,这个组合的使用可以显著提高开发效率,减少重复劳动,尤其是对于...
* 提高开发效率:Xdoclet 可以自动化生成配置文件,提高开发效率和质量。 * 简化项目维护:Xdoclet 可以简化项目维护,减少维护成本。 Xdoclet 的应用场景 Xdoclet 可以应用于以下场景: * 生成 Hibernate 映射...
XDoclet是一款强大的Java文档注解处理器,它能够根据Java源代码中的特定注解自动生成各种配置文件,比如Hibernate的映射文件(*.hbm.xml)、EJB的部署描述符等。在Java持久化编程中,XDoclet的使用极大地提高了开发...
在Hibernate3的上下文中,XDoclet2可以从类和接口的JavaDoc注释中提取信息,然后自动创建对应的Hibernate配置文件,如hibernate.cfg.xml和.hbm.xml文件,极大地提高了开发效率和准确性。 使用XDoclet2的步骤大致...
这种机制使得开发者能够在不离开 Java 代码的情况下,方便地指定所需的额外元数据,从而自动化生成配置文件等文档。 XDoclet 的核心思想是在 Java 代码中加入特定的 Javadoc 标签,例如 `@hibernate.class`、`@...
XDoclet则是一个元数据注解处理器,它能够解析Java源代码中的特定注解,并自动生成相应的配置文件,如Hibernate的HBM文件。HBM文件是Hibernate用来映射Java类与数据库表之间关系的XML文件,它定义了对象-关系映射...
请把这个文件解压后方到一个盘下面.在build.xml中的 <property name="xdoclet.home" value="D:/jarpackage/xdoclet-plugins-1.0.3"/> 指出这个文件存放的位置....在构建域对象的时候一定要指明在配置文件中的配置信息..
整合Ant和Xdoclet,我们可以利用Xdoclet自动生成Hibernate的持久化层配置。在Java类中,我们只需要添加适当的Javadoc注释,Xdoclet就会根据这些注释生成对应的.hbm.xml映射文件和Hibernate配置文件。而Ant则负责编译...
开发者只需在Java类或属性上添加相应的Javadoc注解,Xdoclet就会自动读取并生成对应的配置文件,大大简化了开发流程。 二、Xdoclet与Hibernate的结合 在Hibernate中,Xdoclet主要用来生成*.hbm.xml文件。开发者在...
通过在模型层(Model)和控制层(Controller)的类上使用特定的注解,XDoclet可以自动生成Spring的bean定义,这些定义通常会被包含在Spring的配置文件中。这样,你可以专注于业务逻辑,而不用操心bean的配置。 标签...
XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的特定注解(annotations),自动生成各种元数据,如EJB组件接口、Hibernate映射文件、Struts配置文件等。XDoclet 1.2是该工具的一个版本,带来了许多...
xdoclet是一款强大的Java文档注解处理器,它在Java源代码中通过特定的注解(annotations)来自动生成各种配置文件,极大地简化了开发过程,尤其是对于Hibernate等持久层框架的使用者。标题提到的"xdoclet 用于生成*....
XDoclet 是一款强大的Java注解处理工具,它允许开发者在Java源代码中添加元数据,这些元数据可以用来自动生成各种配置文件,包括Hibernate的映射文件(hbm.xml)。这种方式极大地提高了开发效率,避免了手动创建和...
1. **自动化配置**:XDoclet通过注释自动生成配置文件,减少了手动工作,提高了效率。 2. **减少错误**:由于是代码驱动的,注释和代码保持同步,降低了配置文件与代码不一致的风险。 3. **版本控制友好**:源代码中...