这可能最初似乎是通用的,但事实上,我实际上正在作出我需要使用的决定.
我目前正在进行的工作涉及就业申请,那些需要在某些时候被标记为活动或非活动的应用程序.当提交应用程序时,它将默认为“活动”.由于某些原因,它可能稍后设置为非活动.它只能是其中之一,从不为null(如果这样更改任何内容).
我正在使用Java Hibernate Postgressql,以防这样也有所不同.我的第一本能就是使用布尔值作为我的解决方案,以使它真正作为一个标志,但是我已经建议使用枚举或者ints作为更多的状态而不是标志的同事.
我已经解决了使用所有上述解决方案的问题,并且它们似乎对于彼此而言是有些透明的.
有没有一种方法对这种情况更好?
解决方法
它完全取决于您的要求/规格.如果只想将状态记录为活动或非活动状态,则最好的方式是使用布尔值.
但是,如果将来你会有一个这样的状态,
>活动
> INACTIVE
>暂停
>阻塞
枚举是完美的.在你的情况下,现在,布尔值是足够的.不要过早地尝试过分的事情,你会失去你的设计和开发你的系统