feat: added two entities Office and Position
This commit is contained in:
parent
712f35a2cc
commit
60023f90c5
@ -1,4 +1,68 @@
|
||||
package com.example.nto.domain.entity;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "offices")
|
||||
public class Office {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
@Column(name = "name", unique = true)
|
||||
@NotBlank(message = "Название не может быть пустым!")
|
||||
@Size(max = 100, message = "Максимальная длина названия 100 символов!")
|
||||
private String name;
|
||||
|
||||
@Column(name = "description")
|
||||
@NotBlank(message = "Описание не может быть пустым!")
|
||||
@Size(max = 300, message = "Максимальная длина описания 300 символов!")
|
||||
private String description;
|
||||
|
||||
@Column(name = "address")
|
||||
@NotBlank(message = "Адрес не может быть пустым!")
|
||||
@Size(max = 200, message = "Максимальный размер адреса 200 символов!")
|
||||
private String address;
|
||||
|
||||
@Column(name = "latitude")
|
||||
@NotNull(message = "Широта не может быть пустой!")
|
||||
private Double latitude;
|
||||
|
||||
@Column(name = "longitude")
|
||||
@NotNull(message = "Долгота не может быть пустой!")
|
||||
private Double longitude;
|
||||
|
||||
@Column(name = "logo_image_url")
|
||||
@NotBlank(message = "Путь к логотипу не может быть пустой!")
|
||||
@Size(max = 200, message = "Максимальный размер пути к логотипу 200 символов!")
|
||||
private String linkLogo;
|
||||
|
||||
@Column(name = "telephone")
|
||||
@Size(max = 20, message = "Максимальная длина телефонного номера 20 символов!")
|
||||
private String telephone;
|
||||
|
||||
@Column(name = "email")
|
||||
@Size(max = 255, message = "Максимальная длина email 255 символов")
|
||||
@Email(message = "Email адрес должен быть в формате user@example.com!")
|
||||
private String email;
|
||||
|
||||
@OneToMany(mappedBy = "office")
|
||||
private List<Employee> employeeList;
|
||||
|
||||
@OneToMany(mappedBy = "office")
|
||||
private List<Terminal> terminals;
|
||||
}
|
||||
|
@ -1,4 +1,31 @@
|
||||
package com.example.nto.domain.entity;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "positions")
|
||||
public class Position {
|
||||
}
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
@Column(name = "name", unique = true)
|
||||
@NotBlank(message = "Название не может быть пустым!")
|
||||
@Size(max = 100, message = "Максимальная длина названия 100 символов!")
|
||||
private String name;
|
||||
|
||||
@OneToMany(mappedBy = "position")
|
||||
private List<Employee> employees;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user