仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 550|回复: 8
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Hibernate使用XDoclet主动天生设置文件

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:07:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉,
many-to-many为例,有Position和User两张表,一个Position能够有多个Users,一个User也能够有多个Position,两头的联系关系表为test_user_position。经由过程在PO中到场XDoclet,主动天生hbm设置文件。不空话,看代码。
packagetest;
importjava.util.Set;
importjava.util.TreeSet;
/***//**
*@hibernate.classtable="test_position"
*/
publicclassPosition...{
privateintid;
privateintname;
privateSet<Users>users=newTreeSet<Users>();
/***//**
*@hibernate.idgenerator-class="identity"type="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicintgetName()...{
returnname;
}
publicvoidsetName(intname)...{
this.name=name;
}
/***//**
*@hibernate.setinverse="true"lazy="true"table="test_user_position"
*@hibernate.collection-keycolumn="position_id"
*@hibernate.collection-many-to-manyclass="test.Users"column="user_id"
*/
publicSet<Users>getUsers()...{
returnusers;
}
publicvoidsetUsers(Set<Users>users)...{
this.users=users;
}
}
packagetest;
importjava.util.Set;
importjava.util.TreeSet;
/***//**
*@hibernate.class<Atitle=tablehref="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989"target=_blank>table</A>="test_position"
*/
publicclassPosition...{
privateintid;
privateintname;
privateSet<Users>users=newTreeSet<Users>();
/***//**
*@hibernate.idgenerator-class="identity"type="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicintgetName()...{
returnname;
}
publicvoidsetName(intname)...{
this.name=name;
}
/***//**
*@hibernate.setinverse="true"lazy="true"<Atitle=tablehref="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989"target=_blank>table</A>="test_user_position"
*@hibernate.collection-keycolumn="position_id"
*@hibernate.collection-many-to-manyclass="test.Users"column="user_id"
*/
publicSet<Users>getUsers()...{
returnusers;
}
publicvoidsetUsers(Set<Users>users)...{
this.users=users;
}
}
packagetest;
importjava.util.Set;
importjava.util.TreeSet;
/***//**
*@hibernate.classtable="test_position"
*/
publicclassPosition...{
privateintid;   privateintname;
privateSet<Users>users=newTreeSet<Users>();
/***//**
*@hibernate.idgenerator-class="identity"type="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicintgetName()...{
returnname;
}
publicvoidsetName(intname)...{
this.name=name;
}
/***//**
*@hibernate.setinverse="true"lazy="true"table="test_user_position"
*@hibernate.collection-keycolumn="position_id"
*@hibernate.collection-many-to-manyclass="test.Users"column="user_id"
*/
publicSet<Users>getUsers()...{
returnusers;
}
publicvoidsetUsers(Set<Users>users)...{
this.users=users;
}
}
接上去是Users.java
Java代码
packagetest;
importjava.util.*;
/***//**
*@hibernate.classtable="test_uses"
*/
publicclassUsers...{
privateintid;
privateStringname;
privateSet<Position>positions=newTreeSet<Position>();
/***//**
*@hibernate.idgenerator-class="identity"typ="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicStringgetName()...{
returnname;
}
publicvoidsetName(Stringname)...{
this.name=name;
}
/***//**
*@hibernate.settable="test_user_position"lazy="true"
*@hibernate.collection-keycolumn="user_id"
*@hibernate.collection-many-to-manyclass="test.Position"column="position_id"
*/
publicSet<Position>getPositions()...{
returnpositions;
}
publicvoidsetPositions(Set<Position>positions)...{
this.positions=positions;
}
}
viewplaincopytoclipboardprint?
packagetest;
importjava.util.*;
/***//**
*@hibernate.class<Atitle=tablehref="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989"target=_blank>table</A>="test_uses"
*/
publicclassUsers...{
privateintid;
privateStringname;
privateSet<Position>positions=newTreeSet<Position>();
/***//**    *@hibernate.idgenerator-class="identity"typ="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicStringgetName()...{
returnname;
}
publicvoidsetName(Stringname)...{
this.name=name;
}
/***//**
*@hibernate.set<Atitle=tablehref="http://www.alimama.com/membersvc/buyadzone/buy_ad_zone.htm?adzoneid=892989"target=_blank>table</A>="test_user_position"lazy="true"
*@hibernate.collection-keycolumn="user_id"
*@hibernate.collection-many-to-manyclass="test.Position"column="position_id"
*/
publicSet<Position>getPositions()...{
returnpositions;
}
publicvoidsetPositions(Set<Position>positions)...{
this.positions=positions;
}
}
packagetest;
importjava.util.*;
/***//**
*@hibernate.classtable="test_uses"
*/
publicclassUsers...{
privateintid;
privateStringname;
privateSet<Position>positions=newTreeSet<Position>();
/***//**
*@hibernate.idgenerator-class="identity"typ="int"
*/
publicintgetId()...{
returnid;
}
publicvoidsetId(intid)...{
this.id=id;
}
/***//**
*@hibernate.propertylength="25"
*/
publicStringgetName()...{
returnname;
}
publicvoidsetName(Stringname)...{
this.name=name;
}
/***//**
*@hibernate.settable="test_user_position"lazy="true"
*@hibernate.collection-keycolumn="user_id"
*@hibernate.collection-many-to-manyclass="test.Position"column="position_id"
*/
publicSet<Position>getPositions()...{
returnpositions;
}
publicvoidsetPositions(Set<Position>positions)...{
this.positions=positions;
}
}
在Myeclipse中右键点击项目,选择“Properties",从界面当选择”Myeclipse/XDoclet",点击“AddStandard...”,增加“StandardHibernate”,点击OK,停止设置。
在项目中创建Hibernate.cfg.xml,设置好SessionFactory和数据源
右键点击项目,选择“Myeclipse/RunXDoclet",将主动创立以上两个类对应的hbm文件。
注重:创立完成的hbm文件存在成绩,内里有role和readonly属性,将前者改成name,后者删失落便可。

其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
活着的死人 该用户已被删除
沙发
发表于 2015-1-20 14:44:39 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
爱飞 该用户已被删除
板凳
发表于 2015-1-24 07:03:40 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
只想知道 该用户已被删除
地板
发表于 2015-1-28 05:54:34 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
透明 该用户已被删除
5#
发表于 2015-2-5 12:10:10 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-11 18:51:31 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
蒙在股里 该用户已被删除
7#
发表于 2015-3-11 04:36:26 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
再见西城 该用户已被删除
8#
发表于 2015-3-17 20:31:06 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
简单生活 该用户已被删除
9#
发表于 2015-3-25 00:23:19 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 09:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表