· 8 years ago · Mar 02, 2018, 04:16 AM
1CREATE TABLE IF NOT EXISTS `pubs` (
2`id` int(11) NOT NULL AUTO_INCREMENT,
3`name` varchar(200) NOT NULL,
4`hourFrom` varchar(11) NOT NULL,
5`hourTo` varchar(11) NOT NULL,
6`days` varchar(20),
7`address` int(11) NOT NULL,
8PRIMARY KEY (`id`)
9) ENGINE=InnoDB DEFAULT CHARSET=latin1;
10
11CREATE TABLE IF NOT EXISTS `addresses` (
12`id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
13`street` varchar(200) NOT NULL,
14`number` int(11) NOT NULL,
15`pub_id` int(11) NOT NULL,
16CONSTRAINT fk_pub FOREIGN KEY (pub_id) REFERENCES pubs(id)
17) ENGINE=InnoDB DEFAULT CHARSET=latin1;
18
19DROP TABLE IF EXISTS `pub_address`;
20CREATE TABLE IF NOT EXISTS `pub_address` (
21`id_address` bigint(20) NOT NULL,
22`id_pub` int(11) NOT NULL,
23UNIQUE KEY `UK_9uhc5itwc9h5gcng944pcaslf` (`id_address`,`id_pub`),
24KEY `FK2ex4e4p7w1cj310kg2woisjl2` (`id_pub`)
25) ENGINE=InnoDB DEFAULT CHARSET=latin1;
26
27ALTER TABLE `pub_address`
28ADD CONSTRAINT `FK2ex4e4p7w1cj310kg2woisjl2` FOREIGN KEY (`id_pub`)
29REFERENCES `pub` (`id_pub`),
30ADD CONSTRAINT `FKr38us2n8g5p9rj0b494sd3391` FOREIGN KEY (`id_address`)
31REFERENCES `address` (`id_address`);
32COMMIT;
33
34@Entity
35@Table(name="PUB", schema = "wheresmybeer")
36public class Pub {
37@Id
38@GeneratedValue(strategy= GenerationType.IDENTITY)
39@Column(name = "id_pub")
40private int id;
41
42@Column(name = "name")
43private String name;
44
45@Column(name = "hourFrom")
46private String hourFrom;
47
48@Column(name = "hourTo")
49private String hourTo;
50
51@Column(name = "days")
52private String days;
53
54@Column(name = "idimage")
55private Long idImage;
56
57@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
58private List<Address> addresses = new ArrayList<>();
59
60public Pub() {}
61
62public Pub(String name, String hourFrom, String hourTo, String days, Long idImage, List<Address> addresses) {
63 this.name = name;
64 this.hourFrom = hourFrom;
65 this.hourTo = hourTo;
66 this.days = days;
67 this.idImage = idImage;
68 this.addresses = addresses;
69}
70
71public Pub(String name, String hourFrom, String hourTo, String days, List<Address> addresses) {
72 this.name = name;
73 this.hourFrom = hourFrom;
74 this.hourTo = hourTo;
75 this.days = days;
76 this.addresses = addresses;
77}
78
79public Pub(String name, String hourFrom, String hourTo, String days) {
80 this.name = name;
81 this.hourFrom = hourFrom;
82 this.hourTo = hourTo;
83 this.days = days;
84}
85
86
87public String getDays() {
88 return days;
89}
90
91public void setDays(String days) {
92 this.days = days;
93}
94
95public int getId() {
96 return id;
97}
98
99public void setId(int id) {
100 this.id = id;
101}
102
103public String getName() {
104 return name;
105}
106
107public void setName(String name) {
108 this.name = name;
109}
110
111public String getHourFrom() {
112 return hourFrom;
113}
114
115public void setHourFrom(String hourFrom) {
116 this.hourFrom = hourFrom;
117}
118
119public String getHourTo() {
120 return hourTo;
121}
122
123public void setHourTo(String hourTo) {
124 this.hourTo = hourTo;
125}
126
127public List<Address> getAddresses() {
128 return addresses;
129}
130
131public void setAddresses(List<Address> addresses) {
132 this.addresses = addresses;
133}
134
135public Long getIdImage() {
136 return idImage;
137}
138public void setIdImage(Long idImage) {
139 this.idImage = idImage;
140}
141}
142@Entity
143@Table(name = "addresses", schema = "wheresmybeer")
144public class Address {
145@Id
146@GeneratedValue(strategy= GenerationType.IDENTITY)
147@Column(name = "id_address")
148private Long id;
149
150@Column(name = "street")
151private String street;
152
153@Column(name = "number")
154private int number;
155
156
157public Address() {}
158
159public Address(String street, int number) {
160 this.street = street;
161 this.number = number;
162}
163
164public Long getId() {
165 return id;
166}
167
168public void setId(Long id) {
169 this.id = id;
170}
171
172public String getStreet() {
173 return street;
174}
175
176public void setStreet(String street) {
177 this.street = street;
178}
179
180
181public int getNumber() {
182 return number;
183}
184
185public void setNumber(int number) {
186 this.number = number;
187}
188}