hibernate查询映射,根据类的属性复制字段

1,用hibernate的Hql和原生sql,@Query做查询

1)执行hql,过滤掉某些字段
    @Query("select new TableDome(id, title, type, uri, enabled, removable, hidden, refid, order, subtype, managedByConsole,  path) from TableDome " +
        "where (:managedByConsole is null or managedByConsole = :managedByConsole) and "+
               "(:hidden is null or hidden = :hidden) and " +
               "(:parentId is null or parent.id = :parentId) and " +
               "(:title is null or title = :title)" )
    List<TableDome> findByParameterSimple(@Param("managedByConsole") Boolean managedByConsole,
                                                @Param("parentId") Long parentId,
                                                @Param("hidden") Boolean hidden,
                                                @Param("title") String title);
2)执行原生sql,过滤掉某些字段,没有要设置为空,不然会报错
    @Query(value = "select id,title,type,uri,enabled,hidden,refid,base_order,metadata,path,parent_id,created_time,managed_by_console,subtype,'' as  cover,'' as base_desc ,'' as icon ,removable,updated_time from displayable_unit where parent_id is null or parent_id=0",nativeQuery = true)
    List<TableDome> findParents();

1,根据属性,复制字段信息  

public class CopyFiledDome{

//010203  01武汉子公司,02代码开发部,03代表开发1部  
 private String g010203;
    
//000000在数据库代表其他部门
  private String g000000;


public static void main(String[] args) {
        String fieldName = "g000000";
        String userNames="其他部门";
        CopyFiledDomep=new CopyFiledDome();
        try {
            FieldUtils.writeDeclaredField(p, fieldName, userNames, Boolean.TRUE);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        System.out.println(p.g000000);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值