最近工作上遇到了这样一个问题,就是关于系统用户可对系统预置管理对象进行属性的自定义。在数据库中的体现就是用户可以追加字段。
为此看了不少相关的资料,发现遇到这一问题的人不在少数,但可供参考的解决方案却不是很多。其实包括很多比我资深的师兄师长们都对这一需求是抵触的,认为这是一个不可接受需求,认为能有这样的需求,完全是在需求的分析上做的不够彻底。他们这样的一些看法我本人也是赞同的。但有时我们也不得不承认这样的需求在某种情况下的存在是有其理由的。就拿我们公司的情况来说,一个系统的后台管理,比如说注册用户的管理,你可以尽量地为用户考虑周全,预置很多的属性,但怎么做,也不可以满足所有用户的需求,有的用户需要手机号,有的需要工作证件号码,有的是多个邮箱等等。所以在这增加一个用户自定义的功能是很必要的。
对于这个问题的解决,我在看过相关资料后,发现主要有以下三种方案:
1)系统的数据库操作使用JDBC的方式,在POJO中,用一个MAP来对增加的字段进行操作。在这个思路的基础上,可以考虑整个POJO的对象里,只有一个MAP,它来保存所有字段名称和值。
2)上面那种是不采用ORM的方式,采用ORM的好处我想不必多说,而我最看重的就是它对跨数据库的良好支持。我这里只说说HIBERNATE,HIBERNATE已经有了动态加裁新增字段的功能。缺点是实现起来比较麻烦,还有就是它是通过MAP得到新增字段的值的,在考虑到与页面显示,与STRUTS的结合并不好实现。
3)就是预留一个TEXT的字段,然后,用"符号"区分,将区分的内容,和列名:值写出来,最后显示的时候用Split进行分开。
我最后是采用了第三次方式,其实在这也只是大概的提一下,给正遇到该问题的人提供一些参考,具体的实现在这就不提了。哪位大侠有更好的方案,欢迎赐教!
分享到:
相关推荐
Mantis的自定义字段功能允许用户根据自己的需求添加额外的信息字段,以收集和报告特定数据。例如,你可以添加“优先级”、“影响范围”或“相关文档”等字段。这使得团队可以更好地追踪和分析问题,提高工作效率。 ...
《K3单据自定义字段复制工具》是一款专为K3财务管理软件设计的实用工具,旨在提高企业用户在处理日常业务单据时的工作效率。K3系统,全称为金蝶K/3 Cloud,是由金蝶国际软件集团有限公司开发的一套全面的企业资源...
在SharePoint中,自定义字段类型是扩展平台功能的关键手段之一,它允许用户根据特定业务需求创建具有独特行为和展示的字段。自定义字段类型可以为数据存储提供更丰富的语义,提高信息管理的灵活性,并增强用户体验。...
自定义字段是Liferay中一个重要的特性,允许用户根据自身需求扩展内容模型,为站点添加个性化和灵活的数据结构。 在Liferay中,自定义字段(也称为扩展属性或Expando)提供了一种方式,让用户在原有内容类型的基础...
为了满足不同业务需求,SharePoint允许用户创建自定义字段类型,以扩展其内置字段的灵活性。自定义字段类型可以让列表更加符合特定场景,提升数据管理效率。本文将深入探讨SharePoint列表自定义字段类型的创建、配置...
【EXCEL自定义字段抽取VBA程序】是一个实用的Excel工具,主要针对企业用户,它利用VBA(Visual Basic for Applications)编程语言,允许用户自定义需要抽取的字段,将源数据表中的特定信息高效地提取到目标工作表中...
【标题】"简单方便的在线报名完整无错自定义字段" 涉及的核心知识点主要集中在构建一个高效、用户友好的在线报名系统上,其中包括自定义字段的功能,这对于收集特定的报名信息至关重要。在线报名系统是许多教育机构...
### KooCMS自定义字段功能扩展说明 #### 一、引言 KooCMS是一款功能强大的内容管理系统(Content Management System, CMS),它可以帮助用户快速搭建和管理网站内容。在实际应用场景中,经常会出现需要添加额外字段...
本文将深入探讨如何使用Hibernate实现领域对象的自定义字段,这涉及到对Hibernate核心概念的理解以及自定义类型的应用。 首先,我们需要了解Hibernate的核心概念。Hibernate主要通过配置文件(hibernate.cfg.xml)...
本文将详细介绍如何通过用户出口(User-Exit)的方式实现采购申请行项目的屏幕增强,并通过BAPI(Business Application Programming Interface)来传递自定义字段。本示例的重点在于添加SCM状态字段到采购申请的ME51N、...
以上就是关于“C#将数据导出到Excel模板并自定义字段”的详细解释。在实践中,你可能还需要考虑其他因素,如用户权限、并发操作、数据验证等,确保解决方案既高效又可靠。通过不断学习和实践,你可以掌握更多关于C#...
自定义字段允许用户根据实际业务需求,自由添加、编辑和管理字段,以便更全面地展示企业信息。在phpcms v9中,实现这一功能涉及以下几个关键知识点: 1. **字段类型**:phpcms支持多种字段类型,如文本(text)、文...
BAPI传入自定义字段指的是在使用BAPI过程中,向SAP标准功能传入用户自定义的字段信息。 在本案例中,赵伟提供了关于如何使用User-Exit方式实现采购订单的屏幕增强的方法。User-Exit是SAP提供的一种自定义接口,允许...
在某些场景下,我们可能需要在日志中添加额外的自定义字段,以便更好地追踪和分析系统运行情况。本文将详细介绍如何在.NET EF MVC项目中使用log4net来实现自定义属性或字段的扩展。 首先,让我们理解一下log4net的...
在SharePoint 2013中,自定义字段是扩展平台功能的重要手段,允许用户根据需求创建特定的数据字段,以存储和展示特定类型的信息。在本案例中,我们聚焦于如何利用自定义字段来显示图片链接,即"SharePoint2013Url...
在本文中,我们将深入了解phpcms v9如何调用自定义字段,这对于使用phpcms v9开发网站的用户来说是一个重要的技能点。phpcms v9是一款非常流行的PHP内容管理系统,它允许开发者在后台定义自定义字段以满足不同的业务...
这样,新的自定义字段就会出现在UI中,供用户编辑和查看。为了使字段在编辑模式下可编辑,需要调整UI显示设置,确保新字段在适当的位置出现,并具有正确的编辑特性。 其次,自定义字段的取值逻辑也是重要的部分。这...
在Vue.js框架中实现用户自定义字段显示数据的方法涉及了Vue的基础知识,包括数据绑定、组件交互以及动态内容渲染等。通过上述提供的代码片段和描述,我们可以学习到如何使用Vue来动态地展示用户可选的数据字段,并...
这个系统的一大特色是其自定义字段功能,使得用户可以根据自身需求灵活定制网站的信息结构,适应不同业务场景。 在传统的CMS中,通常会预设一些通用的字段,如标题、内容、作者等,但对于某些特定的企业站点,这些...