48 lines
1.1 KiB
Java
48 lines
1.1 KiB
Java
package _11.asktpk.artisanconnectbackend.entities;
|
|
|
|
import jakarta.persistence.*;
|
|
import lombok.Getter;
|
|
import lombok.NoArgsConstructor;
|
|
import lombok.Setter;
|
|
import org.hibernate.annotations.CreationTimestamp;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@Entity
|
|
@Table(name = "clients")
|
|
@Getter @Setter
|
|
@NoArgsConstructor
|
|
public class Client {
|
|
public Client(String email, String password, String firstName, String lastName) {
|
|
this.email = email;
|
|
this.password = password;
|
|
this.firstName = firstName;
|
|
this.lastName = lastName;
|
|
}
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
private String email;
|
|
|
|
private String password;
|
|
|
|
private String firstName;
|
|
|
|
private String lastName;
|
|
|
|
private String image;
|
|
|
|
@ManyToOne(cascade = CascadeType.ALL)
|
|
@JoinColumn(name = "role_id", referencedColumnName = "id")
|
|
private Role role;
|
|
|
|
@OneToMany(mappedBy = "client", cascade = CascadeType.ALL)
|
|
private List<Order> orders;
|
|
|
|
@CreationTimestamp
|
|
private Date createdAt;
|
|
}
|