如何编写Hibernate“UserType”,其中类型中有一个集合?

时间:2010-10-28 15:49:32

标签: hibernate

我有一个Validity对象,其中包含两个日期,start和end。我有一个我为此编写的UserType,以便我可以简化具有一个实体的几个实体的hibernate映射。这很好。

现在我想在Validity中添加一组工作日。我能想到的唯一解决方案是将每个实体更改为将Validity视为一个组件,将工作日映射为a。

是否有某种方法可以使用* UserType?

class Validity {
  Date start;
  Date end;
  Set<DayOfWeek> daysOfWeek;
}

enum DayOfWeek {SUNDAY, MONDAY, TUESDAY ... }

1 个答案:

答案 0 :(得分:0)

由于集合的内容来自enum,,您可以将daysOfWeek的每个可能值映射(编码)到数据库值并编写UserType实例来管理翻译吗?例如,{ SUNDAY, TUESDAY, THURSDAY }映射到1010100的地方。

编辑:这会使你以外的应用程序查询数据库很痛苦。