【问题标题】:How to map 2 tables in hibernate at pojo class level?如何在 pojo 类级别在休眠中映射 2 个表?
【发布时间】:2013-10-02 05:35:49
【问题描述】:

嗨,我有 2 个用于 DutyManager 和 DMSchedule 的 pojo 课程

这是我的数据库表详细信息

表名,
Duty_Manager:Manager_ID、职务、姓名、年龄、地址PK=Manager_ID

DM_Schedule:Schedule_ID、Manager_ID、From_Date、To_Date PK=Schedule_ID FK=Manager_ID

我应该如何使用休眠注释在 POJO 类级别进行映射。

【问题讨论】:

  • DutyManager 和 DMSchedule 是什么关系?
  • @Thihara Sry 我忘了说它是一对多...:)
  • 一个安全经理有很多时间表?然后您可以在安全管理器中拥有一个时间表集合。
  • 是的,我想知道如何使用 Hibernate 注释在 POJO 级别类中映射它
  • smajlo 已经给出了答案。尽管您最好先阅读文档......

标签: java sql hibernate oop


【解决方案1】:
@Entity
@Table(name = "Duty_Manager")
public class DutyManager {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "my_entity_seq_gen")
@SequenceGenerator(name = "my_entity_seq_gen", sequenceName = "MNG_SEQ")
@Column(name = "MANAGER_ID")
private Long id;
@Column(name = "manager_title", nullable = false)
private String title;
@Column(name = "manager_name", nullable = false)
private String name;
@Column(name = "manager_age", nullable = false)
private int age;

public DutyManager() {
}


//getters and setters
}



@Entity
@Table(name = "DM_Schedule")
public class DM_Schedule {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "my_entity_seq_gen")
@SequenceGenerator(name = "my_entity_seq_gen", sequenceName = "SCH_SEQ")
@Column(name = "Schedule_ID")
private Long id;
@ManyToOne
@JoinColumn(name = "manager_id", nullable = false)
private DutyManager manager;
@Column(name = "date_from", nullable = false)
private Date from;
@Column(name = "date_to", nullable = false)
private Date to;

public DM_Schedule() {
}


//getters and setters
}

编辑: 如 cmets 中所述,您还可以将 Collection<DM_Schedule> 保留在由 @OneToMany 注释注释的 Manager 类中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    相关资源
    最近更新 更多