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);
}
}