# scs-lombok **Repository Path**: flyelf/scs-lombok ## Basic Information - **Project Name**: scs-lombok - **Description**: 对scs的框架进行增强 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lombok需求描述 1、基本要求:根据scs-underlying中的 _ServerCriteriaBuilder 的接口原型,为集成于_ServerCriteriaBuilder 的服务在编译时生成函数: @Override public MPJLambdaWrapper buildJoinCriteriaWrapper(Q criteria) { // 此处为根据criteria的检索条件,构造MPJLambdaWrapper对象 } 其原理参考org.projectlombok:lombok,并采用asm库来实现 2、criteria对象中,其属性中如果没有注解:@CriteriaField,按照CriteriaField.Predicate.eq来处理,对于注解中的field()或者fields(),二者不能共存 当fields()有效时,对于非between和notBetween,表示这些字段or的关系。对于between和notBetween,如果注解的属性是数组,则表示对该字段进行between,而如果注解的属性是单个, 此时fields()不能为空,表示在fields()[0]和fields()[1]之间 3、BaseCriteria中的这3个属性不参与检索构建 4、如果继承 ServerCriteriaBuilder 的类中有这个注解的方法:@CURD(value = CURD.Method.query),则无需自动生成buildJoinCriteriaWrapper的方法 5、对于继承 ServerCriteriaBuilder 的类,必须是干净的类,即该类没有泛型 6、BaseCriteria的泛型T必须有注解@Domain,否则按照失败处理,并提示不符合要求