知识大全 Hibernate多对多双向关联(xml配置)
Posted 知
篇首语:大直若屈,大巧若拙,大辩若讷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate多对多双向关联(xml配置)相关的知识,希望对你有一定的参考价值。
Hibernate多对多双向关联(xml配置) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Role java
package many many bean;
import java util Set;
public class Role
private int id;
private String name;
private Set<User> users;
public int getId()
return id;
public void setId(int id)
this id = id;
public String getName()
return name;
public void setName(String name)
this name = name;
public Set<User> getUsers()
return users;
public void setUsers(Set<User> users)
this users = users;
User java
package many many bean;
import java util Set;
public class User
private int id;
private String name;
private Set<Role> roles;
public int getId()
return id;
public void setId(int id)
this id = id;
public String getName()
return name;
public void setName(String name)
this name = name;
public Set<Role> getRoles()
return roles;
public void setRoles(Set<Role> roles)
this roles = roles;
映射文件
Role hbm xml
<?xml version= encoding= UTF ?>
<!DOCTYPE hibernate mapping PUBLIC
//Hibernate/Hibernate Mapping DTD //EN
hiber/hibernate mapping dtd >
<hibernate mapping package= many many bean >
<class name= Role table= roles catalog= Hibernate_Many Many >
<id name= id column= id >
<generator class= native />
</id>
<property name= name column= name />
<set name= users table= user_role cascade= all >
<key>
<column name= role_id />
</key>
<many to many column= user_id class= User />
</set>
</class>
</hibernate mapping>
User hbm xml
<?xml version= encoding= UTF ?>
<!DOCTYPE hibernate mapping PUBLIC
//Hibernate/Hibernate Mapping DTD //EN
hiber/hibernate mapping dtd >
<hibernate mapping package= many many bean >
<class name= User table= users catalog= Hibernate_Many Many >
<id name= id column= id >
<generator class= native />
</id>
<property name= name column= name />
<set name= roles table= user_role cascade= all >
<key>
<column name= user_id />
</key>
<many to many column= role_id class= Role />
</set>
</class>
</hibernate mapping>
导出的sql
create table Hibernate_Many Many roles (
id integer not null auto_increment
name varchar( )
primary key (id)
)
create table Hibernate_Many Many users (
id integer not null auto_increment
name varchar( )
primary key (id)
)
create table user_role (
role_id integer not null
user_id integer not null
primary key (user_id role_id)
)
alter table user_role
add index FK BF ADA B F (role_id)
add constraint FK BF ADA B F
foreign key (role_id)
references Hibernate_Many Many roles (id)
alter table user_role
add index FK BF A F FD F (user_id)
add constraint FK BF A F FD F
foreign key (user_id)
references Hibernate_Many Many users (id)
测试代码
@Test
public void insert()
Session session=HibernateSessionFactory getSession();
Transaction transaction=session beginTransaction();
try
transaction begin();
User user=new User();
user setName( 张三 );
Role role=new Role();
role setName( 管理员 );
Set<Role> roles=new HashSet<Role>();
roles add(role);
user setRoles(roles);
session persist(user);
mit();
catch (HibernateException e)
e printStackTrace();
transaction rollback();
@Test
public void select()
Session session=HibernateSessionFactory getSession();
User user=(User) session get(User class );
System out println(user getName());
Set<Role> roles=user getRoles();
for (Iterator<Role> iterator = erator(); iterator hasNext();)
Role role = (Role) iterator next();
System out println(role getName());
cha138/Article/program/Java/ky/201311/28194
相关参考
Hibernate持久化技术中多对多关系应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hi
Hibernate对多表关联查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于公司项目的需
Java相关:应用数据库Hibernate对多表关联查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
模型员工Employee—部门Department Java代码 packageDomain; publicclassEmployee publicintgetId() returnid
在Eclipse中利用HibernateSynchronizer插件进行数据库表的映射数据查询和获取数据可以节省大量时间加速Hibernat
对于Query接口的list()方法与iterator()方法来说都可以实现获取查询的对象但是list()方法返回的每个对象都是完整的(对象中的每个属性都被表中的字段填充上了)而iterator(
我现在有一个借阅信息类如下 classBorrow privateStringborrowId;//借阅流水 privateBookbook; privateUserborrowUser;
Inverse是hibernate双向关系中的基本概念inverse的真正作用就是指定由哪一方来维护之间的关联关系当一方中指定了inverse=false(默认)那么那一方就有责任负责之间的关联关
Hibernate初学之一对多、多对一关系模型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 举
Hibernate的多对一和一对多操作实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hib