树形的业务逻辑处理 项目使用struts2 和 hibernate 跟 ext, 数据库表结构dict_id int (主键)dict_code varchardict_name varcharparent_id int ,请教大家 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是oracle吗?oracle查询树形结构select * from 表 start with dict_id connect by prior dict_id = parent_id package eg;import java.util.*;import javax.persistence.*;@Entity@Table(name = "t_emp")public class Employee implements java.io.Serializable { private static final long serialVersionUID = -9037916598216851263L; private Integer id; private String name; private Set<Employee> subordinates; private Employee leader; public Employee() { subordinates = new HashSet<Employee>(); } public Employee(String name) { this(); this.name = name; } @Id @Column(name = "_id") @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name = "_name", length = 30, nullable = false) public String getName() { return name; } public void setName(String name) { this.name = name; } @OneToMany(mappedBy = "leader", cascade = {CascadeType.ALL}, fetch = FetchType.EAGER) public Set<Employee> getSubordinates() { return subordinates; } public void setSubordinates(Set<Employee> subordinates) { this.subordinates = subordinates; } @ManyToOne @JoinColumn(name = "_leader_id") public Employee getLeader() { return leader; } public void setLeader(Employee leader) { this.leader = leader; } public void addSubordinate(Employee emp) { emp.setLeader(this); subordinates.add(emp); }}hibernate树状映射好办啊。看我给你的列子。每个员工都对应一堆下属。下属用Set保存起来了。 是sql server能给一个完整的业务逻辑方法么?查询数据的话 是先全部查询出来 然后根据parnetid 来判断是子节点 怎么组合这个树形 头大啊 加点冗余更简单,isleaf //是否叶子节点 level//第几级 不然你每次要查是不是叶子节点,处在第几级,效率肯定也要低点 HQL 求助, 怎样才能减少seleect 语句 LOG4J配置 把tomcat中的work装挂入内存虚拟盘中,能不能提高性能呢? 高手来领分,用hibernate递归遍历树的问题 询问关于类似库存增减的问题 100分求<<Hibernate in action>>的中文版<<Hibernate实作手册>>的电子书下载.内容在里面. 请问大家,怎样用jbuilder2005开发servlet? 专业英语问题(3)---Website Spidering jbuilder 9.0的疑问 如何在jboss中配置oracle? JBOSS+ant如何调试 有关Tomcat,大侠请不吝赐教!
oracle查询树形结构
select * from 表 start with dict_id connect by prior dict_id = parent_id
package eg;import java.util.*;
import javax.persistence.*;@Entity
@Table(name = "t_emp")
public class Employee implements java.io.Serializable { private static final long serialVersionUID = -9037916598216851263L; private Integer id;
private String name;
private Set<Employee> subordinates;
private Employee leader; public Employee() {
subordinates = new HashSet<Employee>();
}
public Employee(String name) {
this();
this.name = name;
} @Id
@Column(name = "_id")
@GeneratedValue
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} @Column(name = "_name", length = 30, nullable = false)
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} @OneToMany(mappedBy = "leader", cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
public Set<Employee> getSubordinates() {
return subordinates;
} public void setSubordinates(Set<Employee> subordinates) {
this.subordinates = subordinates;
} @ManyToOne
@JoinColumn(name = "_leader_id")
public Employee getLeader() {
return leader;
} public void setLeader(Employee leader) {
this.leader = leader;
} public void addSubordinate(Employee emp) {
emp.setLeader(this);
subordinates.add(emp);
}
}
hibernate树状映射好办啊。看我给你的列子。每个员工都对应一堆下属。下属用Set保存起来了。
能给一个完整的业务逻辑方法么?查询数据的话 是先全部查询出来 然后根据parnetid 来判断是子节点 怎么组合这个树形 头大啊
不然你每次要查是不是叶子节点,处在第几级,效率肯定也要低点