Skip to content

Commit 6d74637

Browse files
author
tomekkup
committed
some model entities
1 parent 24260f5 commit 6d74637

File tree

4 files changed

+190
-0
lines changed

4 files changed

+190
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3+
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
4+
*/
5+
package pl.tomekkup.lavorama.model;
6+
7+
import jakarta.persistence.Column;
8+
import jakarta.persistence.Entity;
9+
import jakarta.persistence.EnumType;
10+
import jakarta.persistence.Enumerated;
11+
import jakarta.persistence.GeneratedValue;
12+
import jakarta.persistence.GenerationType;
13+
import jakarta.persistence.Id;
14+
import jakarta.persistence.JoinColumn;
15+
import jakarta.persistence.ManyToOne;
16+
import jakarta.persistence.Temporal;
17+
import jakarta.persistence.TemporalType;
18+
import java.math.BigDecimal;
19+
import java.time.LocalDate;
20+
import lombok.Getter;
21+
import lombok.Setter;
22+
import pl.tomekkup.lavorama.model.base.VersionedEntity;
23+
import pl.tomekkup.lavorama.model.enums.ClaimStatus;
24+
25+
/**
26+
*
27+
* @author tomek
28+
*/
29+
@Getter
30+
@Setter
31+
@Entity
32+
public class Claim extends VersionedEntity {
33+
34+
@Id
35+
@GeneratedValue(strategy = GenerationType.IDENTITY)
36+
private Long id;
37+
38+
@ManyToOne
39+
@JoinColumn(name = "policy_id")
40+
private Policy policy;
41+
42+
@Column
43+
@Enumerated(EnumType.STRING)
44+
private ClaimStatus status;
45+
46+
@Column
47+
private String number;
48+
49+
@Column
50+
@Temporal(TemporalType.DATE)
51+
private LocalDate registeredAt;
52+
53+
@Column
54+
private String description;
55+
56+
@Column
57+
private BigDecimal damageAmount;
58+
59+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package pl.tomekkup.lavorama.model;
2+
3+
import pl.tomekkup.lavorama.model.media.*;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
import pl.tomekkup.lavorama.model.base.AuditEntity;
7+
8+
import jakarta.persistence.*;
9+
import java.util.List;
10+
import pl.tomekkup.lavorama.model.base.VersionedEntity;
11+
12+
@Entity
13+
@Getter
14+
@Setter
15+
public class Customer extends VersionedEntity {
16+
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
private Long id;
20+
21+
@Column
22+
private String name;
23+
24+
@Column
25+
private String address;
26+
27+
@Column
28+
private String taxIdNumber;
29+
30+
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
31+
private List<Vehicle> vehicles;
32+
33+
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
34+
private List<Policy> policies;
35+
36+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3+
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
4+
*/
5+
package pl.tomekkup.lavorama.model;
6+
7+
import jakarta.persistence.CascadeType;
8+
import jakarta.persistence.Entity;
9+
import jakarta.persistence.EnumType;
10+
import jakarta.persistence.Enumerated;
11+
import jakarta.persistence.GeneratedValue;
12+
import jakarta.persistence.GenerationType;
13+
import jakarta.persistence.Id;
14+
import jakarta.persistence.JoinColumn;
15+
import jakarta.persistence.ManyToOne;
16+
import jakarta.persistence.OneToMany;
17+
import java.util.List;
18+
import lombok.Getter;
19+
import lombok.Setter;
20+
import pl.tomekkup.lavorama.model.base.VersionedEntity;
21+
import pl.tomekkup.lavorama.model.enums.PolicyType;
22+
23+
/**
24+
*
25+
* @author tomek
26+
*/
27+
@Getter
28+
@Setter
29+
@Entity
30+
public class Policy extends VersionedEntity {
31+
32+
@Id
33+
@GeneratedValue(strategy = GenerationType.IDENTITY)
34+
private Long id;
35+
36+
@ManyToOne
37+
@JoinColumn(name = "customer_id")
38+
private Customer customer;
39+
40+
@Enumerated(EnumType.STRING)
41+
private PolicyType policyType;
42+
43+
@ManyToOne
44+
@JoinColumn(name = "vehicle_id")
45+
private Vehicle vehicle;
46+
47+
@OneToMany(mappedBy = "policy", cascade = CascadeType.ALL)
48+
private List<Claim> claims;
49+
50+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package pl.tomekkup.lavorama.model;
2+
3+
import pl.tomekkup.lavorama.model.media.*;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
import pl.tomekkup.lavorama.model.base.AuditEntity;
7+
8+
import jakarta.persistence.*;
9+
import java.util.List;
10+
import pl.tomekkup.lavorama.model.enums.VehicleBrand;
11+
12+
@Entity
13+
@Getter
14+
@Setter
15+
public class Vehicle extends AuditEntity {
16+
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
private Long id;
20+
21+
@ManyToOne
22+
@JoinColumn(name = "customer_id")
23+
private Customer customer;
24+
25+
@Enumerated(EnumType.STRING)
26+
private VehicleBrand brand;
27+
28+
@Column
29+
private String model;
30+
31+
@Column
32+
private int manufactureYear;
33+
34+
@Column
35+
private String vin;
36+
37+
@Column
38+
private String registrationNum;
39+
40+
@OneToMany(mappedBy = "vehicle", cascade = {CascadeType.PERSIST, CascadeType.MERGE})
41+
@OrderBy("createdDate desc")
42+
private List<Photo> photos;
43+
44+
45+
}

0 commit comments

Comments
 (0)