
Hibernate中多对一自身关联问题
利用hibernate自身关联了但是查询的时候还是只能查询到节点下面的一级元素,如何在查询的时候能查询出节点下面的所有元素,例如查询国家,结果中包括了中国,已经中国下面的...
利用hibernate自身关联了 但是查询的时候还是只能查询到节点下面的一级元素,如何在查询的时候能查询出节点下面的所有元素,例如查询国家,结果中包括了中国,已经中国下面的节点小村庄
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏20(财富值+成长值)
展开全部
@Entity
@Table(name = "SC_ORG_INFO")
@SequenceGenerator(name = "SC_ORG_INFO", sequenceName = "SC_ORG_INFO")
public class ScOrgInfo extends BaseModel{
private ScOrgInfo scOrgInfo;
private Set<ScOrgInfo> scOrgInfos = new HashSet<ScOrgInfo>();
private String orgCode; // 组织代码
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "assigned")
@Column(name = "ORG_CODE", unique = false, nullable = true, length = 60)
public String getOrgCode() {
return this.orgCode;
}
public void setScOrgInfo(ScOrgInfo scOrgInfo) {
this.scOrgInfo = scOrgInfo;
}
@ManyToOne(cascade = { CascadeType.MERGE }, optional = false)
@JoinColumn(name = "PORG_CODE")
public ScOrgInfo getScOrgInfo() {
return this.scOrgInfo;
}
public void setScOrgInfos(Set<ScOrgInfo> scOrgInfos) {
this.scOrgInfos = scOrgInfos;
}
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = "scOrgInfo")
public Set<ScOrgInfo> getScOrgInfos() {
return this.scOrgInfos;
}
}
一对多 多对一 都在这个表上绑定。
假设取某个节点下的组织,从根节点下节点都可以取出来。
@Table(name = "SC_ORG_INFO")
@SequenceGenerator(name = "SC_ORG_INFO", sequenceName = "SC_ORG_INFO")
public class ScOrgInfo extends BaseModel{
private ScOrgInfo scOrgInfo;
private Set<ScOrgInfo> scOrgInfos = new HashSet<ScOrgInfo>();
private String orgCode; // 组织代码
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "assigned")
@Column(name = "ORG_CODE", unique = false, nullable = true, length = 60)
public String getOrgCode() {
return this.orgCode;
}
public void setScOrgInfo(ScOrgInfo scOrgInfo) {
this.scOrgInfo = scOrgInfo;
}
@ManyToOne(cascade = { CascadeType.MERGE }, optional = false)
@JoinColumn(name = "PORG_CODE")
public ScOrgInfo getScOrgInfo() {
return this.scOrgInfo;
}
public void setScOrgInfos(Set<ScOrgInfo> scOrgInfos) {
this.scOrgInfos = scOrgInfos;
}
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = "scOrgInfo")
public Set<ScOrgInfo> getScOrgInfos() {
return this.scOrgInfos;
}
}
一对多 多对一 都在这个表上绑定。
假设取某个节点下的组织,从根节点下节点都可以取出来。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询