因此,在C++/C#中,您可以创建标记枚举以保存多个值,并且在数据库中存储单个有意义的整数当然是微不足道的.
在Java中你有EnumSets,它似乎是一种在内存中传递枚举的好方法,但是你如何将组合的EnumSet输出到一个整数来存储呢?还有另一种方法来解决这个问题吗?
我正在寻找一种有效的方法来坚持一周的日子.换句话说,用户将从工作日列表中选择任意天数.具体日期无关紧要,只是一周中的某一天.我需要将这一天存储在一个休眠实体中.
我可以存储其中一个:
Set<DayOfWeek>
Set<Integer>
Run Code Online (Sandbox Code Playgroud)
但我认为它可能比这更简单.如果我只使用单个int来存储数据并使用按位运算,该怎么办?例如:
Sun = 1
Mon = 2
Tue = 4
Wed = 8
Thu = 16
Fri = 32
Sat = 64
Run Code Online (Sandbox Code Playgroud)
因此,为了表示太阳,周一,周三,周六的集合,我将保持整数75.这是因为1 + 2 + 8 + 64 = 75.
我担心的是对这样的字段执行查询.我能找到所有选择了Wed的实体吗?
这看起来像是一个好方法吗?有没有人有更好的主意?
谢谢!