【发布时间】:2025-12-23 21:00:12
【问题描述】:
我有一个表 DocMaster,它与 DocMovement 表有一对多的映射。 DocMovement 表的列包含发送和接收用户 ID,发送和接收文档的日期作为单独的列。
//Doc_Mvmnt
@ManyToOne
@JoinColumn(name = "BARCODE", nullable=false)
public Doc_Master doc_master;
@ManyToOne
@JoinColumn(name="RECIPIENT_DETAIL")
private User_Details recipient_detail;
@ManyToOne
@JoinColumn(name="SENDER_DETAIL")
private User_Details sender_detail;
@Temporal(TemporalType.DATE)
//@Type(type="date")
@Column(name="RECIEVING_DATE")
private Date recieving_date;
@Temporal(TemporalType.DATE)
@Column(name="SENDING_DATE")
private Date sending_date;
//Doc_Master
@Column(name = "BARCODE", nullable=false, unique=true)
private String barcode;
@ManyToOne
@JoinColumn(name = "DEPT_ID")
private Department department;
//Department
@OneToMany(mappedBy= "department")
private List<Doc_Master> documents = new ArrayList<>();
我面临的问题是:
用户输入部门和日期范围。我想显示该部门在此日期范围内的所有文档移动。我无法编写条件以便获取我想要的数据。
Criteria criteria = session.createCriteria(Doc_Master.class);
criteria.add(Restrictions.eq("department", deptId));
criteria.add(Restrictions.between(/* */, fromDate, toDate)); // what to do here
List<Doc_Master> documents = (List<Doc_Master>)criteria.list();
请帮忙!!!
【问题讨论】:
-
先写你正常的sql查询..我会帮忙
-
对不起,不擅长写查询