如何在hibernate注释中实现组件映射

时间:2013-11-18 15:51:38

标签: java hibernate hibernate-mapping hibernate-annotations

嗨,我在这里尝试将我的hbm文件映射转换为hibernate注释,我在这里发现了像

这样的标签
<component name="timeSlot" class="model.calendar.TimeSlot">
  <property name="startTime" column="app_start_time" />
  <property name="endTime" column="app_end_time" />
</component>

appointment.hbm.xml档案中。

appointment.java的模态类就像

public class Appointment extends BaseDo implements Delivery {
  private TimeSlot timeSlot;       
}

我的timeslot.java模态看起来像

public class TimeSlot extends BaseDo {

  Date startTime;
  Date endTime;
}

所以在这里我不明白如何在appointment.java中注释时间段我已经搜索过,我明白我需要使用@Embedded@Embeddable标签,但不知道如何使用建议我这样做。

1 个答案:

答案 0 :(得分:0)

你尝试过这样的事吗?

public class Appointment extends BaseDo implements Delivery {
    private TimeSlot timeSlot;   

    @Embedded
    public TimeSlot getTimeSlot() {
        return timeSlot;
    }

    public void setTimeSlot (TimeSlot timeSlot) {
        this.timeSlot= timeSlot;
    }
}

@Embeddable
public class TimeSlot extends BaseDo {

  Date startTime;
  Date endTime;

  @Column 
  public Date getStartTime(){
      return startTime
  }

  public void setStartTime(Date startTime){
      this.startTime = startTime;
  } 

  @Column 
  public Date getEndTime(){
      return endTime
  }

  public void setEndTime(Date endTime){
      this.endTime = endTime;
  } 

}