jpa

来源:互联网 发布:js qq邮箱的正则表达式 编辑:程序博客网 时间:2024/06/07 15:59
有一对多的关系的时候,就算只查一方的话,可能会报一系列的序列化问题,原因是转化为json的时候识别不了
,但是在保存数据的时候不排除,只对json排除


json到对象不必排除list属性,list会变成MorphDynaBean,可以get拿到,对象到json要排除jpa写的list属性(实体中排除,转的时候executive)

至于json转到对象不需要的属性另当别论

/**
*
*/
package com.ces.zwww.entity;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.ces.xarch.core.entity.StringIDEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* @author yu hui
*
*
* 事件工单表
* 实际上是故障工单
*/
@SuppressWarnings({ "deprecation", "serial" })
@Entity
@JsonIgnoreProperties(value={"processLogs"})
//由于进行了双向关联转化为json要排除
@Table(name = "T_B_SJGD")
public class WorkOrder extends StringIDEntity {

/**
*
*/

public String createTime;

public List<ProcessLog> processLogs;




/**
* @return the createtime
*/


@Column(name="createtime")
public String getCreateTime() {
return createTime;
}

/**
* @return the processLogs
*/
@OneToMany(cascade = { CascadeType.REFRESH, CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REMOVE },
mappedBy="workOrder")
public List<ProcessLog> getProcessLogs() {
return processLogs;
}
/**
* @param processLogs the processLogs to set
*/
public void setProcessLogs(List<ProcessLog> processLogs) {
this.processLogs = processLogs;
}
/**
* @param createtime the createtime to set
*/
public void setCreateTime(String createTime) {
this.createTime = createTime;
}



}





package com.ces.zwww.entity;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.ces.xarch.core.entity.StringIDEntity;

/**
*
* @author yu hui
*
*故障工单的日志
*
*/

@SuppressWarnings("serial")
@Entity
@Table(name="T_B_PROCESSLOG")
public class ProcessLog extends StringIDEntity {

public String stage;
public String actorId;
public String actorName;
public String submit;
public String memo;
public String recordTime;
public String cnName;
public TroubleProcesOrder troubleProcesOrder;
public WorkOrder workOrder;
public ImportantNotice notice;
public CutOverOrder cutOver;


/**
* @return the cutOver
*/
@ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.MERGE,CascadeType.REFRESH }, optional = true)
    @JoinColumn(name = "gjid")
public CutOverOrder getCutOver() {
return cutOver;
}
/**
* @param cutOver the cutOver to set
*/
public void setCutOver(CutOverOrder cutOver) {
this.cutOver = cutOver;
}
/**
* @return the notice
*/
@ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.MERGE,CascadeType.REFRESH }, optional = true)
    @JoinColumn(name = "tgid")
public ImportantNotice getNotice() {
return notice;
}
/**
* @param notice the notice to set
*/
public void setNotice(ImportantNotice notice) {
this.notice = notice;
}
/**
* @return the workOrder
*/
@ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.MERGE,CascadeType.REFRESH }, optional = true)
    @JoinColumn(name = "sjid")
public WorkOrder getWorkOrder() {
return workOrder;
}
/**
* @param workOrder the workOrder to set
*/
public void setWorkOrder(WorkOrder workOrder) {
this.workOrder = workOrder;
}
/**
* @return the troubleProcesOrder
*/
    @ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.MERGE,CascadeType.REFRESH }, optional = true)
    @JoinColumn(name = "trblid")
public TroubleProcesOrder getTroubleProcesOrder() {
return troubleProcesOrder;
}
/**
* @param troubleProcesOrder the troubleProcesOrder to set
*/
public void setTroubleProcesOrder(TroubleProcesOrder troubleProcesOrder) {
this.troubleProcesOrder = troubleProcesOrder;
}
/**
* @return the stage
*/
public String getStage() {
return stage;
}
/**
* @param stage the stage to set
*/
public void setStage(String stage) {
this.stage = stage;
}
/**
* @return the submit
*/
public String getSubmit() {
return submit;
}
/**
* @param submit the submit to set
*/
public void setSubmit(String submit) {
this.submit = submit;
}
/**
* @return the memo
*/
public String getMemo() {
return memo;
}
/**
* @param memo the memo to set
*/
public void setMemo(String memo) {
this.memo = memo;
}
/**
* @return the actorId
*/
@Column(name="actorid")
public String getActorId() {
return actorId;
}
/**
* @param actorId the actorId to set
*/
public void setActorId(String actorId) {
this.actorId = actorId;
}
/**
* @return the actorName
*/
@Column(name="actorname")
public String getActorName() {
return actorName;
}
/**
* @param actorName the actorName to set
*/

public void setActorName(String actorName) {
this.actorName = actorName;
}
/**
* @return the recordTime
*/
@Column(name="recordtime")
public String getRecordTime() {
return recordTime;
}
/**
* @param recordTime the recordTime to set
*/
public void setRecordTime(String recordTime) {
this.recordTime = recordTime;
}
/**
* @return the cnName
*/
@Column(name="cnname")
public String getCnName() {
return cnName;
}
/**
* @param cnName the cnName to set
*/
public void setCnName(String cnName) {
this.cnName = cnName;
}








}


json到list排除一些不要字段
/**
* json串转成List列表
* @param jsonStr
* @param c
* @return
*/
public static List jsonStrToListExcute(String jsonStr,Class c){
if(jsonStr==null||jsonStr.trim().equals("")){
return null;
}
jsonStr=initJsonStr(jsonStr);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setArrayMode( JsonConfig.MODE_LIST);
jsonConfig.setExcludes(new String[]{"id"});
jsonConfig.setRootClass(c); 
JSON json=JSONSerializer.toJSON(jsonStr, jsonConfig);
    return (List)JSONSerializer.toJava(json, jsonConfig);
}
0 0
原创粉丝点击