Sql 如何处理表单中“发件人”和“收件人”字段的自定义字段搜索?

Sql 如何处理表单中“发件人”和“收件人”字段的自定义字段搜索?,sql,jakarta-ee,search,extjs,information-retrieval,Sql,Jakarta Ee,Search,Extjs,Information Retrieval,我刚刚开始在一个项目中实现搜索模块,在这个项目中,我有一个包含固定字段的表单,这些字段由组合框、文本框、单选按钮等组成(在多个选项卡中大约有200个字段),以后的客户端也应该能够添加额外的字段。一旦用户填写了他想要搜索的字段,搜索条件也应该可以保存。出于所有这些原因,对于每个字段,我都以以下格式关联元数据 “EntityName.attributeName”:attributeValue 一旦用户填写要搜索的表单字段,我将验证表单数据和仅以JSON格式发送到服务器的非空字段元数据。到目前为止一切

我刚刚开始在一个项目中实现搜索模块,在这个项目中,我有一个包含固定字段的表单,这些字段由组合框、文本框、单选按钮等组成(在多个选项卡中大约有200个字段),以后的客户端也应该能够添加额外的字段。一旦用户填写了他想要搜索的字段,搜索条件也应该可以保存。出于所有这些原因,对于每个字段,我都以以下格式关联元数据

“EntityName.attributeName”:attributeValue

一旦用户填写要搜索的表单字段,我将验证表单数据和仅以JSON格式发送到服务器的非空字段元数据。到目前为止一切都很好。但我现在面临一个问题

使用每个字段的元数据,我将为每个字段创建一个新的标准。但如果有一个字段元数据依赖于另一个字段元数据的字段,我会大吃一惊

在表格中,我有以下格式的几个特殊类别字段:例如DOB

起始日期(元数据:entity1.dob) 迄今为止(元数据:entity1.dob)

  • 这两个字段属于同一实体和同一列,但UI中的字段名称不同
像这样,我有大约20个字段,要求从和到查询范围(它不需要是日期,例如卧室的数量..它可以是整数,字符串等)

根据用户搜索条件,我的查询格式应如下所示。如果用户只从卧室数量字段中输入,则我必须使用sql中的等于运算符进行查询,如果两者都提到,则从字段中输入大于等于,从字段中输入小于等于。那么我该如何处理这个特殊情况呢

比如说,如果他在“卧室数量”字段中输入了4个字段,那么我必须查询卧室数量等于4的房屋。但是如果从他输入3,到如果他输入7,那么我必须查询是否有大于或等于3间卧室和小于或等于7间卧室的房屋

由于这些类别字段也有相同的元数据,我无法继续,为了实现这一点,我需要准备什么样的元数据

我怎样才能概括这个过程来处理所有的案例

  • 我的技术堆栈:ExtJs、Eclipse链接、spring

  • 在企业应用程序中,支持自定义字段在表单中添加功能的最佳实践是什么


    • 我会为这些特殊情况创建向导。例如,有一个自定义向导,允许用户在一个操作中定义“from”字段、“to”字段,然后定义比较运算符。此向导还可以负责将自定义属性添加到生成的字段中,以供验证例程使用。因此,基于from、to和operator的组合,您可以创建一个灵活的验证机制,以确保输入的值正确,范围正确,等等


      实际上,可以考虑这个“向导”方法来处理所有自定义字段。我可以看到您预定义了所有可能使用的自定义字段类型,并创建了可用于这些字段的类。这些类不仅负责创建字段,还负责提供任何自定义验证、预提交转换等。这种方法将使添加新的自定义字段类型变得非常简单,因为您所要做的就是遵循与其他现有字段相同的实现,扩展现有字段类型,等等。

      谢谢你的回答。你能详细说明一下吗?我对巫师的概念还不熟悉,如果可能的话,我可以建议其他方法