Skip to content

Commit a957520

Browse files
committed
Review
1 parent 6ceb0bb commit a957520

File tree

6 files changed

+27
-18
lines changed

6 files changed

+27
-18
lines changed

src/main/java/com/capgemini/training/appointment_booking_app/common/converter/SpecializationConverter.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.capgemini.training.appointment_booking_app.common.converter;
2-
2+
/*
3+
Review: znaki _ nie powinny się znajdować w nazwie pakietu, jest to zależność do persistance
4+
*/
35
import com.capgemini.training.appointment_booking_app.common.datatype.Specialization;
46

57
import jakarta.persistence.AttributeConverter;

src/main/java/com/capgemini/training/appointment_booking_app/dataaccess/entity/AppointmentEntity.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,24 @@
1717
import lombok.Getter;
1818
import lombok.Setter;
1919

20+
// Review uważam że dobrą praktyką jest wprowadzenie bazowej klassy wykorzystując @MappedSuperclass
2021
@Entity
2122
@Table(name="APPOINTMENT")
2223
@Getter
2324
@Setter
2425
public class AppointmentEntity {
2526

2627
@Id
27-
@GeneratedValue(strategy = GenerationType.IDENTITY)
28+
@GeneratedValue(strategy = GenerationType.IDENTITY) // review why not sequence?
2829
private Long id;
2930

3031
@Version
3132
private int version;
3233

33-
@ManyToOne
34+
@ManyToOne // review lazy
3435
private ClientEntity client;
3536

36-
@ManyToOne
37+
@ManyToOne // review lazy
3738
private TreatmentEntity treatment;
3839

3940
@Column(name="DATE_TIME")

src/main/java/com/capgemini/training/appointment_booking_app/dataaccess/entity/ClientEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ public class ClientEntity {
2626

2727
@Version
2828
private int version;
29-
29+
// review lazy, cascade only persist
3030
@OneToOne(optional = false, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE })
3131
private UserEntity user;
32-
32+
// review lazy, cascade only persist
3333
@OneToMany(mappedBy = "client", orphanRemoval=true, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE })
3434
private List<AppointmentEntity> appointments;
3535

src/main/java/com/capgemini/training/appointment_booking_app/dataaccess/entity/SpecialistEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ public class SpecialistEntity {
3333

3434
@Version
3535
private int version;
36-
36+
// review lazy
3737
@OneToOne(optional = false)
3838
private UserEntity user;
3939

4040
@Convert(converter = SpecializationConverter.class)
4141
private Specialization specialization;
42-
42+
// review lazy, cascade only persist
4343
@OneToMany(mappedBy = "specialist", cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE })
4444
private List<TreatmentEntity> treatments;
4545
}

src/main/java/com/capgemini/training/appointment_booking_app/dataaccess/entity/TreatmentEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class TreatmentEntity {
3030

3131
@Column(name="DURATION_MINUTES")
3232
private int durationMinutes;
33-
33+
// review lazy
3434
@ManyToOne
3535
private SpecialistEntity specialist;
3636

src/main/resources/db/migration/1.0/V0001__Create_schema.sql

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
/**
2+
Review
3+
1. Autoinkrement, nie zalecam
4+
2. Zróbmy sekwencje dla tabel
5+
3. cascade delete - nie zawsze rozważne
6+
*/
17
CREATE TABLE USER_TABLE (
28
ID NUMBER(19,0) NOT NULL AUTO_INCREMENT,
39
VERSION INTEGER NOT NULL,
4-
EMAIL VARCHAR(128),
5-
PASSWORD_HASH VARCHAR(128),
6-
FIRST_NAME VARCHAR(128),
7-
LAST_NAME VARCHAR(128),
10+
EMAIL VARCHAR(128), -- review not null?
11+
PASSWORD_HASH VARCHAR(128), -- review not null?
12+
FIRST_NAME VARCHAR(128), -- review not null?
13+
LAST_NAME VARCHAR(128), -- review not null?
814
PRIMARY KEY (ID),
915
CONSTRAINT UNIQUE_USER_EMAIL UNIQUE (EMAIL)
1016
);
@@ -20,7 +26,7 @@ FOREIGN KEY (USER_ID) REFERENCES USER_TABLE(ID) ON DELETE CASCADE
2026
CREATE TABLE SPECIALIST (
2127
ID NUMBER(19,0) NOT NULL AUTO_INCREMENT,
2228
VERSION INTEGER NOT NULL,
23-
SPECIALIZATION VARCHAR(128),
29+
SPECIALIZATION VARCHAR(128), -- review not null
2430
USER_ID NUMBER(19,0) NOT NULL,
2531
PRIMARY KEY (ID),
2632
FOREIGN KEY (USER_ID) REFERENCES USER_TABLE(ID) ON DELETE CASCADE
@@ -29,10 +35,10 @@ FOREIGN KEY (USER_ID) REFERENCES USER_TABLE(ID) ON DELETE CASCADE
2935
CREATE TABLE TREATMENT (
3036
ID NUMBER(19,0) NOT NULL AUTO_INCREMENT,
3137
VERSION INTEGER NOT NULL,
32-
NAME VARCHAR(256),
38+
NAME VARCHAR(256), -- review not null?
3339
DESCRIPTION VARCHAR(1024),
34-
DURATION_MINUTES INTEGER,
35-
SPECIALIST_ID NUMBER(19,0),
40+
DURATION_MINUTES INTEGER, -- review not null?
41+
SPECIALIST_ID NUMBER(19,0), -- review can be null?
3642
PRIMARY KEY (ID),
3743
FOREIGN KEY (SPECIALIST_ID) REFERENCES SPECIALIST(ID) ON DELETE CASCADE
3844
);
@@ -41,7 +47,7 @@ FOREIGN KEY (SPECIALIST_ID) REFERENCES SPECIALIST(ID) ON DELETE CASCADE
4147
CREATE TABLE APPOINTMENT (
4248
ID NUMBER(19,0) NOT NULL AUTO_INCREMENT,
4349
VERSION INTEGER NOT NULL,
44-
DATE_TIME TIMESTAMP,
50+
DATE_TIME TIMESTAMP, -- review might be null?
4551
STATUS VARCHAR(128) NOT NULL DEFAULT 'SCHEDULED',
4652
CLIENT_ID NUMBER(19,0) NOT NULL,
4753
TREATMENT_ID NUMBER(19,0) NOT NULL,

0 commit comments

Comments
 (0)