【发布时间】:2019-04-01 04:25:39
【问题描述】:
作为培训项目的一部分,我创建了一个铁路客运数据库。用户注册,购买火车票。火车的路线有几个车站。
请帮忙处理人际关系。
有几个实体:用户、车票、火车、车站、路线。
我将每个实体创建为:
@Entity
@Table(name = "...")
public class ... implements Serializable { ... }
用户: id(主键), 电子邮件, 密码, 名, 姓, 出生日期, 角色(例如用户/管理员)。
有了这个,我什么都明白了。进一步的问题出现了。门票:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column("TICKET_ID")
private int id;
// One user can have multiple tickets?
@ManyToOne
@JoinColumn(name = "USER_ID")
private User user;
@Column(name = "SALE_TIME")
private Date saleTime;
// One train can have multiple tickets?
@ManyToOne
@JoinColumn(name = "TRAIN_ID")
private Train train;
@Column(name = "CARRIAGE")
private int carriage;
@Column(name = "PLACE")
private int place;
一切都在这里吗?接下来...
@Entity
@Table(name = "TRAINS")
public class Train implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "TRAIN_ID")
private int id;
@Column(name = "TRAIN_NUMBER")
private int number;
@Column(name = "SEATS")
private int seats;
// on the way for example
@Column(name = "STATUS")
private String status;
如何设置火车固定座位数,购票时如何减少?
用Station并不难:id、name、status。 最后,路线:
@Entity
@Table(name = "ROUTE_POINT")
public class RoutePoint implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ROUTE_ID")
private int id;
// ?????????
@ManyToOne
@JoinColumn(name = "TRAIN_NUMBER")
private Train train;
// ?????????
@ManyToOne
@JoinColumn(name = "STATION_NAME")
private Station station;
@Column(name = "DATE_ARRIVAL")
private Date dateArrival;
@Column(name = "DATE_DEPARTURE")
private Date dateDeparture;
请帮助我处理注释和关系,最重要的是,理解这一点。谷歌已经是紫色了,最好的理解来自实践。谢谢。
【问题讨论】:
标签: mysql spring hibernate spring-mvc