Skip to content

Commit eeba704

Browse files
Add Feedback, Driver, and Trip entities, refactor User entity
Introduce new entities Feedback, Driver, and Trip as part of expanding the travel services functionality. Feedback will allow users to rate and comment on trips, while Driver connects to Trip, representing drivers and their trips. User entity was refactored to use Lombok's @Setter annotation for cleaner code.
1 parent e48c1d1 commit eeba704

File tree

4 files changed

+104
-26
lines changed

4 files changed

+104
-26
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.kotiswar.travel.entitiy;
2+
3+
import jakarta.persistence.*;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
import java.util.Set;
8+
9+
@Entity
10+
@Getter
11+
@Setter
12+
@Table(name = "drivers")
13+
public class Driver {
14+
15+
@Id
16+
@GeneratedValue(strategy = GenerationType.IDENTITY)
17+
private Long id;
18+
19+
@Column(nullable = false)
20+
private String name;
21+
22+
@Column(nullable = false, unique = true)
23+
private String licenseNumber;
24+
25+
@Column(nullable = false)
26+
private String contactInfo;
27+
28+
@OneToMany(mappedBy = "driver")
29+
private Set<Trip> trips;
30+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.kotiswar.travel.entitiy;
2+
3+
import jakarta.persistence.*;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
import java.util.Date;
8+
9+
@Entity
10+
@Getter
11+
@Setter
12+
@Table(name = "feedback")
13+
public class Feedback {
14+
15+
@Id
16+
@GeneratedValue(strategy = GenerationType.IDENTITY)
17+
private Long id;
18+
19+
@ManyToOne
20+
@JoinColumn(name = "trip_id", nullable = false)
21+
private Trip trip;
22+
23+
@ManyToOne
24+
@JoinColumn(name = "user_id", nullable = false)
25+
private User user;
26+
27+
@Column(nullable = false)
28+
private Integer rating;
29+
30+
@Column(length = 1024) // Adjust length as needed
31+
private String comments;
32+
33+
@Temporal(TemporalType.TIMESTAMP)
34+
@Column(nullable = false)
35+
private Date submittedAt;
36+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.kotiswar.travel.entitiy;
2+
3+
import jakarta.persistence.*;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
import java.util.Date;
8+
import java.util.Set;
9+
10+
@Entity
11+
@Table(name = "trips")
12+
@Getter
13+
@Setter
14+
public class Trip {
15+
16+
@Id
17+
@GeneratedValue(strategy = GenerationType.IDENTITY)
18+
private Long id;
19+
20+
@ManyToOne
21+
@JoinColumn(name = "driver_id", nullable = false)
22+
private Driver driver;
23+
24+
@Column(nullable = false)
25+
@Temporal(TemporalType.TIMESTAMP)
26+
private Date startTime;
27+
28+
@Column(nullable = false)
29+
@Temporal(TemporalType.TIMESTAMP)
30+
private Date endTime;
31+
32+
@OneToMany(mappedBy = "trip")
33+
private Set<Feedback> feedbacks;
34+
35+
}
36+

src/main/java/com/kotiswar/travel/entitiy/User.java

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
import jakarta.persistence.*;
44
import lombok.Getter;
5+
import lombok.Setter;
56

67
import java.util.Date;
78

89
@Getter
10+
@Setter
911
@Entity
1012
@Table(name = "users")
1113
public class User {
@@ -29,30 +31,4 @@ public class User {
2931
@Temporal(TemporalType.TIMESTAMP)
3032
@Column(nullable = false)
3133
private Date createdAt = new Date();
32-
33-
// Standard getters and setters
34-
35-
public void setId(Long id) {
36-
this.id = id;
37-
}
38-
39-
public void setUsername(String username) {
40-
this.username = username;
41-
}
42-
43-
public void setPasswordHash(String passwordHash) {
44-
this.passwordHash = passwordHash;
45-
}
46-
47-
public void setRole(String role) {
48-
this.role = role;
49-
}
50-
51-
public void setEmail(String email) {
52-
this.email = email;
53-
}
54-
55-
public void setCreatedAt(Date createdAt) {
56-
this.createdAt = createdAt;
57-
}
5834
}

0 commit comments

Comments
 (0)