锁定老帖子 主题:Hibernate知识辅导(2--2)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-03
4,根据底层数据库指定生成方法
<id name="id" column="id"> <generator class="native"/> </id>
注意,在使用native的底层是针对Oracle数据库时,id的生成方式还是使用sequence,只不过需要一个特定名字的sequence,"hibernate_sequence"。
5,高低位算法
<id name="id" column="id"> <generator class="hilo"> <param name="table">high_value</param> <!--设置高位值取值的表--> <param name="column">next_value</param> <!--设置高位值取值的字段--> <param name="max_lo">50</param> <!--指定低位最大值,当取道最大值是会再取一个高位值再运算--> </generator> </id>
类关联关系映射
一对一关系实现
建表策略 1,共享主键,也就是一方引用另一方的主键,作为自身的主键,也是外键。 2,外键引用,也就是一方引用另一方的主键,作为外键,并且对引用的外键加唯一约束。
以User和Address类为例,用户和用户的地址是一对一关系
User类 package alan.hbn.rel.o2o; import java.io.Serializable; public class User implements Serializable{ private int userId; private String userName; private Address address; public int getUserId(){ return userId; }
public void setUserId(int userId){ this.userId = userId; }
public String getUserName(){ return userName; }
public void setUserName(String userName){ this.userName = userName; }
public Address getAddress(){ return address; }
public void setAddress(Address address){ this.address = address; if (address != null){ address.setUser(this); } } }
Address类 package alan.hbn.rel.o2o;
import java.io.Serializable;
public class Address implements Serializable{ private int addressId; private String street; private String zipcode; private User user; public int getAddressId(){ return addressId; }
public void setAddressId(int addressId){ this.addressId = addressId; }
public String getStreet(){ return street; }
public void setStreet(String street){ this.street = street; }
public String getZipcode(){ return zipcode; }
public void setZipcode(String zipcode){ this.zipcode = zipcode; }
public User getUser(){ return user; }
public void setUser(User user){ this.user = user; }
} 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1084 次