基本的Annotation

来源:互联网 发布:淘宝店铺故事在哪里 编辑:程序博客网 时间:2024/04/28 17:57

@Entity(name="booking")//实体名,在HQL或CRITERIA中使用
@Table(name="BOOKING")//数据库对应的表
public class Booking extends AdvanceRecordableEntity {
 

 private String topic;
 
 private MeetingRoom meetingRoom;
  
 @Column(name="BOOKING_TOPIC", length=200, nullable=false)
 public String getTopic() {
  return topic;
 }
 public void setTopic(String topic) {
  this.topic = topic;
 }
 

 @ManyToOne(cascade = {CascadeType.ALL})

 //一般来说ManyToOne这一端负责维护关联关系,并且CascadeTYPE为ALL,即Booking的CURD操作

 //都会对关联的MeetingRoom对象进行数据库操作。例如,新建的Booking对象,关联到一个新建的

 //MeetingRoom对象,如果对Booking对象进行save,那么MeetingRoom对象也会被save到数据库
 @JoinColumn(name="MEETINGROOM_ID")

 //在BOOKING这个表中,用一列MEETINGROOM_ID来记录MEETINGROOM这个表的主键
 public MeetingRoom getMeetingRoom() {
  return meetingRoom;
 }
 public void setMeetingRoom(MeetingRoom meetingRoom) {
  this.meetingRoom = meetingRoom;
 }

}

 

对于MeetingRoom类来说,要实现双向的关联:

 

@OneToMany(mappedBy="meetingRoom") //表示bookings这个属性是连到Booking类的meetingRoom属性上

public List<Booking> getBookings() {
  return bookings;
 }

 

原创粉丝点击