37 lines
829 B
Java
37 lines
829 B
Java
package com.example.bankcards.entity;
|
|
|
|
import jakarta.persistence.*;
|
|
import java.math.BigDecimal;
|
|
import java.time.LocalDate;
|
|
import lombok.*;
|
|
|
|
@Entity
|
|
@Table(name = "cards")
|
|
@Data
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Builder
|
|
public class Card {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@Column(name = "card_number_encrypted", nullable = false)
|
|
private String cardNumberEncrypted;
|
|
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
@JoinColumn(name = "owner_id", nullable = false)
|
|
private User owner;
|
|
|
|
@Column(name = "expiry_date", nullable = false)
|
|
private LocalDate expiryDate;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(nullable = false)
|
|
private CardStatus status;
|
|
|
|
@Column(nullable = false, precision = 19, scale = 2)
|
|
private BigDecimal balance;
|
|
}
|