Skip to content
Snippets Groups Projects
Commit 21792f20 authored by Michal Badin's avatar Michal Badin
Browse files

refactoring(DomainObject): Generalized DomainObject

parent 56e61e5c
No related branches found
No related tags found
2 merge requests!54Merge develop into main,!45M2 feedback - string size restriction, CI/CD and DomainObject
...@@ -11,7 +11,7 @@ import java.util.Set; ...@@ -11,7 +11,7 @@ import java.util.Set;
@Entity @Entity
@Table(name = "car") @Table(name = "car")
public class Car extends DomainObject implements Serializable { public class Car extends DomainObject<Long> implements Serializable {
@OneToOne(fetch = FetchType.LAZY) @OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "driver_id") @JoinColumn(name = "driver_id")
@Nullable @Nullable
......
...@@ -12,7 +12,7 @@ import java.util.Objects; ...@@ -12,7 +12,7 @@ import java.util.Objects;
@Entity @Entity
@Table(name = "car_component") @Table(name = "car_component")
public class CarComponent extends DomainObject implements Serializable { public class CarComponent extends DomainObject<Long> implements Serializable {
@Column(name = "component_type") @Column(name = "component_type")
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
......
...@@ -10,7 +10,7 @@ import java.util.Set; ...@@ -10,7 +10,7 @@ import java.util.Set;
@Entity @Entity
@Table(name = "department") @Table(name = "department")
public class Department extends DomainObject implements Serializable { public class Department extends DomainObject<Long> implements Serializable {
@NotEmpty @NotEmpty
private String specialization; private String specialization;
......
...@@ -6,20 +6,22 @@ import jakarta.persistence.GenerationType; ...@@ -6,20 +6,22 @@ import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.MappedSuperclass; import jakarta.persistence.MappedSuperclass;
import java.io.Serializable;
/** /**
* @author Michal Badin * @author Michal Badin
*/ */
@MappedSuperclass @MappedSuperclass
public abstract class DomainObject { public abstract class DomainObject<PK extends Serializable> implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private PK id;
public Long getId() { public PK getId() {
return id; return id;
} }
public void setId(Long id) { public void setId(PK id) {
this.id = id; this.id = id;
} }
} }
...@@ -16,7 +16,7 @@ import java.util.Set; ...@@ -16,7 +16,7 @@ import java.util.Set;
@Entity @Entity
@Table(name = "driver") @Table(name = "driver")
public class Driver extends DomainObject implements Serializable { public class Driver extends DomainObject<Long> implements Serializable {
@NotEmpty @NotEmpty
private String name; private String name;
......
...@@ -9,7 +9,7 @@ import java.util.Objects; ...@@ -9,7 +9,7 @@ import java.util.Objects;
@Entity @Entity
@Table(name = "engineer") @Table(name = "engineer")
public class Engineer extends DomainObject implements Serializable { public class Engineer extends DomainObject<Long> implements Serializable {
@NotEmpty @NotEmpty
private String name; private String name;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment