`
y806839048
  • 浏览: 1127351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

jpa

    博客分类:
  • jpa
 
阅读更多
有一对多的关系的时候,就算只查一方的话,可能会报一系列的序列化问题,原因是转化为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);
}
分享到:
评论

相关推荐

    jpa例子jpajpa

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    **Spring Data JPA** 是一个基于 **Java** 的开源框架,它是 **Spring Framework** 的一个模块,主要用于简化 **Java Persistence API (JPA)** 的使用。JPA 是 Java 平台上的一个标准,用于管理和持久化应用程序的...

    spring注解+spring data jpa文档+JPA文档.rar

    Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...

    JPA_官方文档_中文版

    ### JPA概述与核心知识点详解 #### 一、JPA概览 JPA,全称Java Persistence API,作为Java EE 5.0平台标准的ORM(Object-Relational Mapping)规范,旨在解决对象持久化问题,使开发人员能更轻松地在Java应用程序...

    JPA分页查询与条件分页查询

    JPA(Java Persistence API)是Java平台上的一个标准,用于管理关系数据库中的数据。Spring Data JPA 是基于 JPA 的一个扩展,它简化了数据库操作,使得开发者无需编写大量SQL语句,就能实现数据的增删改查。在这个...

    JPA源文件/jpa学习

    **JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...

    JPA (一)

    **Java 持久化 API(JPA)详解(一)** Java 持久化 API(Java Persistence API),简称 JPA,是 Java 平台上的一个标准,用于管理关系数据库中的数据。JPA 提供了一种面向对象的方式来操作数据库,使得开发人员...

    Spring Data JPA的优点和难点.pdf

    Spring Data JPA是Spring生态中的一个强大ORM框架,它极大地提高了Java开发者在处理数据库操作时的效率。Spring Data JPA的主要优点在于其高度的开发效率、成熟的语法结构以及与Spring框架的紧密集成。 1. **开发...

    java + spring boot +jpa 拦截器分库分表demo

    Spring Data JPA是Spring对JPA的扩展,提供了更丰富的功能,包括自动Repository生成、查询方法等。 在Spring Boot项目中集成JPA,首先需要在`pom.xml`或`build.gradle`中添加相应的依赖。接下来,创建实体类...

    Springboot中使用Druid+JPA

    在Spring Boot应用中,Druid和JPA是两种常见的数据库操作工具。Druid是一个功能强大的数据库连接池,而JPA(Java Persistence API)是Java平台上的一个标准,用于对象关系映射(ORM)。本篇文章将深入探讨如何在...

    Spring JPA 配置类包集合 方便大家使用

    Spring JPA,全称为Spring Data JPA,是Spring框架的一部分,专门用于简化Java持久层编程,尤其是与关系型数据库的交互。它建立在Java Persistence API(JPA)之上,提供了更高级别的抽象,使得开发者可以更加专注于...

    JPA注解@Access实例

    **JPA注解@Access详解** Java Persistence API (JPA) 是Java中用于对象关系映射(ORM)的标准框架,它允许开发人员将Java类与数据库表进行映射,从而简化数据操作。在JPA中,`@Access`注解是用于指定实体属性访问...

    如何控制JPA的事务

    "JPA事务管理" JPA(Java Persistence API)是一种Java持久化规范,它提供了一个抽象层来访问关系数据库。JPA的事务管理是指对一系列操作的管理,包括创建、读取、更新和删除(CRUD)等操作。事务管理的目的是确保...

    SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表.zip

    SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表 运行环境 jdk8+tomcat9+mysql+IntelliJ IDEA+maven 项目技术(必填) springboot+jpa 数据库文件(可选) 新建一个test的数据库即可,表在...

    黎活明老师讲解的JPA源码

    JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用的对象持久化的开发工作,实现ORM的统一。JPA作为一项对象持久化的标准,不但可以获得Java EE应用服务器的支持,还可以直接在Java SE中使用。JPA必将...

    使用SpringBoot-JPA进行自定义保存及批量保存功能

    使用SpringBoot-JPA进行自定义保存及批量保存功能 使用SpringBoot-JPA进行自定义保存及批量保存功能是指在Spring Boot应用程序中使用JPA(Java Persistence API)来实现自定义的保存和批量保存功能。JPA是一个Java ...

    Spring Data JPA从入门到精通

    《Spring Data JPA从入门到精通》是一套深入学习Spring Data JPA的资源,结合了两本书的内容,旨在帮助开发者全面掌握这一强大的数据访问技术。Spring Data JPA是Spring框架的一部分,它为Java Persistence API (JPA...

    spring boot jpa security

    Spring Boot JPA与Security是两个在Java开发领域中极为重要的技术框架,它们分别专注于数据访问和应用程序的安全管理。本文将深入探讨这两个框架的核心概念、如何整合使用以及在实际项目中的应用。 Spring Boot是由...

    jpa代码自动生成工具-springboot

    在Java开发领域,Spring Boot和JPA(Java Persistence API)是两个非常重要的框架。Spring Boot简化了Spring应用程序的创建和配置过程,而JPA作为Java的ORM(对象关系映射)标准,允许开发者以面向对象的方式操作...

Global site tag (gtag.js) - Google Analytics