【问题标题】:How to implement Component mapping in hibernate annotationshibernate注解中如何实现组件映射
【发布时间】:2013-12-01 20:23:44
【问题描述】:

您好,我正在尝试将我的 hbm 文件映射转换为休眠注释,在这里我找到了类似

的标签
<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;
}

所以在这里我不明白如何在我搜索过的约会.java 中注释 Timeslot,并且我知道我需要使用 @Embedded@Embeddable 标签,但不知道如何使用任何人都可以建议我这样做这个。

【问题讨论】:

  • 这在休眠文档中非常简单。 docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/…
  • 即使我在这里有单独的时间段模式类表,我也无法使用您提供的参考,当时间段的属性也存在于约会表中时,您的参考很有用,但在我的情况下不是@泰勒

标签: java hibernate hibernate-mapping hibernate-annotations


【解决方案1】:

你尝试过这样的事情吗?

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;
  } 

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多