一.组合关系
组合就是强聚合 ,聚合就是双向的多对一,一对多
强:最强级联 一方放弃关系维护
单据都会用到组合关系
保存的时候双方都能找到对象
//一方的配置
/**
cascade = CascadeType.ALL:包含所有级联(增删改)
orphanRemoval = true:孤儿删除
mappedBy = "bill":放弃关系维护
*/
@OneToMany(cascade = CascadeType.ALL, mappedBy = "bill", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Purchasebillitem> items = new ArrayList<Purchasebillitem>();
//多方的配置
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "bill_id")
@JsonIgnore
private Purchasebill bill;// 组合关系,非空
二.日期查询问题
2.1 SpringMVC获取与设置日期
get -> @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)
set -> @DateTimeFormat(pattern = “yyyy-MM-dd”)
2.2 easyui的日期控件
<div id="cc" class="easyui-calendar"></div>
<input name="beginDate" class="easyui-datebox" data-options="sharedCalendar:'#cc'"
style="width:120px">
2.3 怎么解决查询有时分秒的问题
结束时间加一/大于等于开始时间,小于结束时间
//准备一个方法,创建相应的条件规则
public Specification createSpec(){
//结束时间加一天
Date tempDate = null;
if(endDate!=null){
tempDate = DateUtils.addDays(endDate, 1);
}
//gt:大于 ge:大于等于
//lt:小于 le:小于等于
Specification<Purchasebill> spec = Specifications.<Purchasebill>and()
.ge(beginDate!=null,"vdate",beginDate)
.lt(endDate!=null,"vdate",tempDate)
.eq(status!=null,"status",status)
.build();
return spec;
}
三.明细的问题
控件:http://www.easyui-extlib.com/ ->Datagrid-Edit -单元格编辑
3.1 研究控件的代码含义
//设置一些基本数据
var dg = $("#dg1"),
defaultRow = {
ID: "", Code: "", Name: "", StandardModel: "", ApplyCount: "", Remark: "", Stocks: "" },
insertPosition = "bottom";
//做一些基本的配置(创建datagrid控件)
var dgInit = function () {
...
//拿到刚添加的行数
var getInsertRowIndex = function () {