Java Study Center
日历
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
统计
随笔 - 40
文章 - 3
评论 - 0
引用 - 0
导航
BlogJava
首页
发新随笔
发新文章
联系
聚合
管理
常用链接
我的随笔
我的评论
我的参与
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
(40)
2010年1月 (1)
2008年9月 (23)
2008年7月 (16)
文章档案
(3)
2010年2月 (2)
2008年7月 (1)
搜索
最新评论
阅读排行榜
1. 如何连接SQL Server数据库(Tomcat 连接池配置) (转载) (3951)
2. Structs2基本配置入门 (3698)
3. Hibernate中利用配置文件(hbm)自动生成数据库表(1776)
4. Java进阶学习:jar打包详解(1285)
5. 面试时候经常会问的一些问题(不断补充中) (转载)(807)
评论排行榜
1. 转:谨以此文纪念逝去的SUN (0)
2. commons-fileupload组件上传文件及相关问题 (0)
3. 铁手的《Struts in Action中文版》完整版 带源代码(0)
4. Struts 2中实现文件下载(修正中文问题) (0)
5. MyEclipse 6 实战开发讲解视频入门 13 Struts 2 入门开发 (0)
Hibernate利用XDoclet自动生成配置文件
以many-to-many为例,有Position和User两张表,一个Position可以有多个Users,一个User也可以有多个Position,中间的关联表为 test_user_position 。通过在PO中加入XDoclet,自动生成hbm配置文件。不废话,看代码。
Position.java
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;
}
}
接下来是Users.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;
}
}
在Myeclipse中右键点击项目,选择“Properties",从界面中选择”Myeclipse/XDoclet",点击“Add Standard...”,添加“Standard Hibernate”,点击OK,结束设置。
在项目中建立Hibernate.cfg.xml,配置好SessionFactory和数据源
右键点击项目,选择“Myeclipse/Run XDoclet",将自动创建以上两个类对应的hbm文件。
注意:创建完成的hbm文件存在问题,里面有role和readonly属性,将前者改为name,后者删掉即可。
posted on 2008-07-31 11:28
绿茶_郑州
阅读(261)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Copyright © 绿茶_郑州
Powered by:
博客园
模板提供:
沪江博客