我有2张表
source表 user表
sid int primarykey, uid int primarykey,
name varchar(12), name varchar(12),
u_id int foreignkey references user source 多对一 user
帮我用 annotation写上面的pojo类
要双向关联
source表 user表
sid int primarykey, uid int primarykey,
name varchar(12), name varchar(12),
u_id int foreignkey references user source 多对一 user
帮我用 annotation写上面的pojo类
要双向关联
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
* User entity. @author MyEclipse Persistence Tools
*/
@Entity
@Table(name="user"
,catalog="struts2jpa"
)public class User implements java.io.Serializable {
// Fields private Integer uid;
private String name;
private Set<Source> sources = new HashSet<Source>(0);
// Constructors /** default constructor */
public User() {
} /** minimal constructor */
public User(Integer uid) {
this.uid = uid;
}
/** full constructor */
public User(Integer uid, String name, Set<Source> sources) {
this.uid = uid;
this.name = name;
this.sources = sources;
}
// Property accessors
@Id
@Column(name="uid", unique=true, nullable=false) public Integer getUid() {
return this.uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
@Column(name="name", length=12) public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="user") public Set<Source> getSources() {
return this.sources;
}
public void setSources(Set<Source> sources) {
this.sources = sources;
}
}source表:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;@Entity
@Table(name="source"
,catalog="struts2jpa"
)public class Source implements java.io.Serializable {
// Fields private Integer sid;
private User user;
private String name;
// Constructors /** default constructor */
public Source() {
} /** minimal constructor */
public Source(Integer sid) {
this.sid = sid;
}
/** full constructor */
public Source(Integer sid, User user, String name) {
this.sid = sid;
this.user = user;
this.name = name;
}
// Property accessors
@Id
@Column(name="sid", unique=true, nullable=false) public Integer getSid() {
return this.sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="u_id") public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
@Column(name="name", length=12) public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}}
@ManyToOne(fetch=FetchType.LAZY)
也可以不采用延迟加载