您的位置:首页 > 其它

hibernate一对多注解开发实例

2017-06-30 16:22 309 查看
1.实例(用户及用户地址)

2.用户实体类代码

package com.sq.entity;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
import java.beans.FeatureDescriptor;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

/**
* Created by Administrator on 2017/6/30 0030.
*/
@XmlRootElement
@Entity
@Table(name = "tt_user")
public class User implements Serializable{
@Id
@GeneratedValue
@Column
private Integer u_id;//用户编号
@Column
private String username;//用户名
@Column
private String password;//用户密码

//一个用户有多个地址
//注意此处的mappedBy值是对应多的一方里面表示一的一方的变量名
@OneToMany(targetEntity = Address.class,fetch = FetchType.LAZY,cascade = CascadeType.ALL,mappedBy = "owner")
Set<Address> userAddresses = new HashSet<Address>();

public Set<Address> getUserAddresses() {
return userAddresses;
}

public void setUserAddresses(Set<Address> userAddresses) {
this.userAddresses = userAddresses;
}

public Integer getU_id() {
return u_id;
}

public void setU_id(Integer u_id) {
this.u_id = u_id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

@Override
public String toString() {
return "User{" +
"u_id=" + u_id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}


注意:mappedBy详解参照:http://blog.csdn.net/m0_37983376/article/details/74005957

3.地址实体类信息
package com.sq.entity;

import org.hibernate.annotations.Table;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;

/**
* Created by Administrator on 2017/6/30 0030.
*/
@XmlRootElement
@Entity
@javax.persistence.Table(name = "tt_address")
public class Address implements Serializable{
@Id
@GeneratedValue
@Column
private Integer a_id;//地址编号
@Column
private String a_content;//地址信息

//表示多对一关系
@ManyToOne(fetch = FetchType.LAZY)
//建立外键,关联到u_id
@JoinColumn(name = "u_id")
private User owner;//地址所有者

@Override
public String toString() {
return "Address{" +
"a_id=" + a_id +
", a_content='" + a_content + '\'' +
'}';
}

public Integer getA_id() {
return a_id;
}

public void setA_id(Integer a_id) {
this.a_id = a_id;
}

public String getA_content() {
return a_content;
}

public void setA_content(String a_content) {
this.a_content = a_content;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  实例 hibernate OneToMany