hibernate注解配置单向一对多(配置在一的一方)并且一的一方为联合主键,这个该怎么配置,最好是写一个demo
5条回答 默认 最新
- 梦在哪里 2017-12-13 13:09关注
如下是一个“酒店房间信息表”,以hotelRoomId和hotelId为联合主键。其中配置了“一对多”和“多对一”
package cn.ssms.model; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name="hotelRoom") public class HotelRoom{ private int hotelRoomId; //客房编号 private String hotelRoomName; //房间名称 private String hotelRoomImage; //客房图片 private Hotel hotel; //属于哪个酒店 private Set<HotelOrder> hotelOrderSet = new HashSet<HotelOrder>(); //相关的酒店订单的集合 private Set<HotelRoomDate> hotelRoomDateSet = new HashSet<HotelRoomDate>(); //房间不同日期信息的集合 @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="hotelRoomId") public int getHotelRoomId() { return hotelRoomId; } public void setHotelRoomId(int hotelRoomId) { this.hotelRoomId = hotelRoomId; } @Column(name="hotelRoomImage") public String getHotelRoomImage() { return hotelRoomImage; } public void setHotelRoomImage(String hotelRoomImage) { this.hotelRoomImage = hotelRoomImage; } @Column(name="hotelRoomName") public String getHotelRoomName() { return hotelRoomName; } public void setHotelRoomName(String hotelRoomName) { this.hotelRoomName = hotelRoomName; } @ManyToOne(fetch=FetchType.LAZY,targetEntity=Hotel.class) @JoinColumn(name="hotelId") public Hotel getHotel() { return hotel; } public void setHotel(Hotel hotel) { this.hotel = hotel; } @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="hotelRoom") public Set<HotelOrder> getHotelOrderSet() { return hotelOrderSet; } public void setHotelOrderSet(Set<HotelOrder> hotelOrderSet) { this.hotelOrderSet = hotelOrderSet; } @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="hotelRoom") public Set<HotelRoomDate> getHotelRoomDateSet() { return hotelRoomDateSet; } public void setHotelRoomDateSet(Set<HotelRoomDate> hotelRoomDateSet) { this.hotelRoomDateSet = hotelRoomDateSet; } }
有疑问请回复。欢迎采纳,谢谢!
解决 无用评论 打赏 举报
悬赏问题
- ¥20 matlab yalmip kkt 双层优化问题
- ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
- ¥88 实在没有想法,需要个思路
- ¥15 MATLAB报错输入参数太多
- ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
- ¥15 有赏,i卡绘世画不出
- ¥15 如何用stata画出文献中常见的安慰剂检验图
- ¥15 c语言链表结构体数据插入
- ¥40 使用MATLAB解答线性代数问题
- ¥15 COCOS的问题COCOS的问题