@Transient 后台和数据库之间不映射

在实体类里面进行注解   
注解以后该字段不会映射到数据库,再进行数据库查询的时候就不会出现找不到该字段的问题了
@Transient
    private List<PublishBuy> publishBuys;




进行数据查询,查询以后将数据set 进设置的字段里面
 public ServiceResponse publishPayList(Long userId) {
        QPublishPay qPublishPay = QPublishPay.publishPay;
        QPublishBuy qPublishBuy = QPublishBuy.publishBuy;
        List<PublishPay> publishPays = jpaQueryFactory
                .selectFrom(qPublishPay)
                .where(qPublishPay.userid.eq(userId))
                .fetch();
        publishPays.forEach(e -> {
            List<PublishBuy> publishBuys = jpaQueryFactory
                    .selectFrom(qPublishBuy)
                    .where(qPublishBuy.publishPayId.eq(e.getId())
                        .and(qPublishBuy.status.eq("2")))        
                    .fetch();
            e.setPublishBuys(publishBuys);
        });
        return ServiceResponse.createBySuccess(publishPays);
    }
返回的结果

{
    "status": "0",
    "message": null,
    "data": [
        {
            "id": "1084728620519395328",
            "userid": "1069432178229641216",
            "createTime": "2019-01-14 16:27",
            "num": "10000",
            "remark": null,
            "residue": "3000",
            "userInfoId": null,
            "publishBuys": [    这个字段就是自己加入需要set的字段
                {
                    "id": "1085419089150742528",
                    "userId": "1069432178229641216",
                    "publishPayId": "1084728620519395328",
                    "createTime": "2019-01-17 13:19",
                    "status": "2",
                    "payUserId": "1069432178229641216",
                    "remark": null,
                    "fileName": "1085433001074102272",
                    "buyNum": "6000",
                    "platformStatus": "0",
                    "appeal": "0",
                    "appealReason": null,
                }
            ]
        }
    ]
}

 

** • @Author: cwm • @Date: 2025-4-11-16:16 • @Description:设备列表 */ @Entity(name = "equipment_ledger") @TableName("equipment_ledger") @Data @EqualsAndHashCode(callSuper = true) public class EquipmentLedgerDO extends CodeDO { /** ◦ 设备名称 */ private String name; /** ◦ 部门id */ private Long deptId; /** ◦ 类型id */ private Long TypeId; /** ◦ 工位id */ private Long stationId; /** ◦ 简称 */ private String petName; /** ◦ 型号 */ private String model; /** ◦ 生产厂商 */ private String manufacturer; /** ◦ 生产时间 */ private LocalDateTime productiveTime; /** ◦ 购买时间 */ private LocalDateTime buyingTime; /** *设备状态 */ @Column(nullable = false, columnDefinition = "int DEFAULT 0") private EquipmentStatus status; /** *验收状态 */ private EquipmentAcceptInspectStatus inspectStatus; /** ◦ 列表图片 */ // 声明为 String 类型,欺骗 JPA 生成 VARCHAR 字段 @Column(name = "photos", columnDefinition = "VARCHAR(1000)") @TableField(exist = false) private String mappingPhotos; @TableField(typeHandler = JacksonTypeHandler.class) @Transient // jpa忽略该字段 private List<String> photos; /** ◦ 关联点检方案id */ // 声明为 String 类型,欺骗 JPA 生成 VARCHAR 字段 @Column(name="ref_scheme_ids", columnDefinition = "VARCHAR(1000)") @TableField(exist = false) private String mappingRefSchemeIds; @TableField(typeHandler = JacksonTypeHandler.class) @Transient//jpa忽略该字段 private List<Long> refSchemeIds;/** • @author cwm • @date 2025/6/11 16:23 • @description 列表关联方案 */ @Entity(name = "equipment_ld_rel_scheme") @TableName(value = "equipment_ld_rel_scheme", autoResultMap = true) @Data public class EquipmentLdRefSchemeDO extends RelatedBaseDO<EquipmentLdRefSchemeDO> { /** ◦ 关联点检方案id */ // 声明为 String 类型,欺骗 JPA 生成 VARCHAR 字段 @Column(name="ref_scheme_ids", columnDefinition = "VARCHAR(1000)") @TableField(exist = false) private String mappingRefSchemeIds; @TableField(typeHandler = JacksonTypeHandler.class) @Transient//jpa忽略该字段 private List<Long> refSchemeIds; }/** • @Author: cwm • @Date: 2025-4-11-16:16 • @Description: 点检方案 */ @Entity(name = "equipment_inspect_scheme") @TableName("equipment_inspect_scheme") @Data @EqualsAndHashCode(callSuper = true) public class EquipmentInspectSchemeDO extends CodeDO { /** *方案名称 */ private String name; }/** • @Author: cwm • @Date: 2025-4-15-15:27 • @Description:设备dto */ @Schema(description = "管理后台 - 设备创建/更新 DTO") @Data public class EquipmentLedgerSaveDto extends CodeSaveDTO { @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotBlank(message = "设备名称能为空") @Size(max = 30, message = "设备名称长度能超过 30 个字符") @DiffLogField(name = "设备名称") private String name; @Schema(description = "简称") private String petName; @Schema(description = "型号") private String model; @Schema(description = "生产厂商") private String manufacturer; @Schema(description = "生产时间" ) private LocalDateTime productiveTime; @Schema(description = "购买时间") private LocalDateTime buyingTime; @Schema(description = "设备类型id") private Long typeId; @Schema(description = "部门id") private Long deptId; @Schema(description = "工位id") private Long stationId; @Schema(description = "验收状态") private EquipmentAcceptInspectStatus acceptanceStatus; @Schema(description = "关联点检方案id") private List<Long> refSchemeIds; @Schema(description = "图片") private List<String> photos; // @Data // public static class Scheme extends RelatedDTO<EquipmentLdRefSchemeDO>{ // @Schema(description = "关联点检方案id") // private List<Long> inspectSchemeId; // } }@Schema(description = "管理后台 - 设备列表关联方案 VO") @Data public class EquipmentLdRefSchemeVO extends CodeVO { @Schema(description = "关联点检方案id", requiredMode = Schema.RequiredMode.REQUIRED) private Long refSchemeIds; @Schema(description = "方案名称", requiredMode = Schema.RequiredMode.REQUIRED) private String inspectPlanName; } 根据点检方案关联id来实现设备列表关联点检方案@Service @Slf4j public class EquipmentServiceImpl extends CrudServiceImpl<EquipmentMapper, EquipmentLedgerDO> implements EquipmentService { @Resource private EquipmentLedgerRefSchemeMapper equipmentLedgerRefSchemeMapper; @Override public PageResult<EquipmentLedgerListVO> getPage(PageQueryDTO<EquipmentLedgerListVO> pageQueryDTO) { return this.selectPage(pageQueryDTO, (queryWrapperX, params) -> // 目前分页接口 只需要关心配合前端加对应的条件 queryWrapperX .likeIfPresent("code", params.getString("code")) .likeIfPresent("name",params.getString("name")) ); } @Override @Transactional(rollbackFor = Exception.class) public Long create(EquipmentLedgerSaveDto saveDto) { // dto转换为do EquipmentLedgerDO ledgerDO = BeanUtils.toBean(saveDto, EquipmentLedgerDO.class); // do数据写入数据库 baseMapper.insert(ledgerDO); //调用关联处理数据 this.handleRelevancyData(ledgerDO.getId(),saveDto); // 返回id return ledgerDO.getId(); } @Override public boolean update(EquipmentLedgerSaveDto saveDto) { // dto转换为do EquipmentLedgerDO ledgerDO = BeanUtils.toBean(saveDto, EquipmentLedgerDO.class); boolean update = this.updateById(ledgerDO); //调用关联处理数据 this.handleRelevancyData(ledgerDO.getId(),saveDto); // 根据id更新数据 return update; } @Override @Transactional(rollbackFor = Exception.class) public boolean deleteById(Long id) { return this.removeById(id); } /** ◦ 处理关联数据 */ private void handleRelevancyData(Long equipmentId, EquipmentLedgerSaveDto saveDto){ //关联方案 } @Override public List<EquipmentLdRefSchemeVO> getRefSchemeList(Long id) { return equipmentLedgerRefSchemeMapper.findPlanVOs(id); } } 我这是芋道二次开发能能在原有的基础上实现方案关联到设备列表
06-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值