81,092
社区成员
发帖
与我相关
我的任务
分享
package com.alan.easyoa.entity;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name="emailSe",sequenceName="emailSequence")
public class Email {
private Integer id; //id
private List<Employee> employees = new ArrayList<Employee>(); //发送给那些员工
private List<Department> Departments = new ArrayList<Department>(); //发送给那些部门
private String title; //邮件标题
private String content; //邮件内容
private String sendTime; //邮件发送时间
private boolean isSend; //true代表发送,false代表接收
/*********getter 和 setter 方法********************/
@Id
@GeneratedValue(generator="emailSe")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@ManyToMany
public List<Employee> getEmployees() {
return employees;
}
public void setEmployees(List<Employee> employees) {
this.employees = employees;
}
@ManyToMany
public List<Department> getDepartments() {
return Departments;
}
public void setDepartments(List<Department> departments) {
Departments = departments;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSendTime() {
return sendTime;
}
public void setSendTime(String sendTime) {
this.sendTime = sendTime;
}
public boolean isSend() {
return isSend;
}
public void setSend(boolean isSend) {
this.isSend = isSend;
}
}
package com.alan.easyoa.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
/**
*
* 员工实体类
* @author Alan
*
*/
@Entity
public class Employee implements Serializable {
private static final long serialVersionUID = 760623822991124471L;
private String email; //Email也就是登录账号
private String password; //密码
private String name; //姓名
private Integer age; //年龄
private String sex; //性别
private String contactInfo; //联系方式
private Department department; //部门
private List<Email> emails = new ArrayList<Email>(); //该员工发送的所有邮件,这个基本没用,如果用它的话一次性全取出来服务器受不了
public Employee(){}
/*********getter 和 setter 方法********************/
@Id
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getContactInfo() {
return contactInfo;
}
public void setContactInfo(String contactInfo) {
this.contactInfo = contactInfo;
}
@ManyToOne
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
@ManyToMany(mappedBy="employees")
public List<Email> getEmails() {
return emails;
}
public void setEmails(List<Email> emails) {
this.emails = emails;
}
}
private HibernateTemplate hibernateTemplate = new HibernateTemplate();
@SuppressWarnings("unchecked")
public List<Email> getEmailsByEmployee(final Employee e, final boolean isInbox,final PageUtil pageUtil) {
hibernateTemplate.setSessionFactory(new AnnotationConfiguration().configure().buildSessionFactory());
return (List<Email>)hibernateTemplate.execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
session.beginTransaction();
//最多读取多少条记录
int max = (pageUtil.getCurrentPage()+1)*pageUtil.getPageSize();
//从那一条开始读取
int fister = pageUtil.getCurrentPage()*pageUtil.getPageSize();
pageUtil.setCurrentPage(pageUtil.getCurrentPage()+1);
//pageUtil.setAllRow((Integer)session.createQuery("count(*)from Email e ").uniqueResult());
Object object = session.createQuery("from Email e where e.employees = "+e).setFirstResult(fister).setMaxResults(max).list();
session.getTransaction().commit();
return object;
}});
}