Security.java

package com.tdmconsult.ete.masterdata;

import com.tdmconsult.ete.utils.AbstractEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Table;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

@Entity
@Getter
@NoArgsConstructor
@SuperBuilder(toBuilder = true)
@Accessors(chain = true)
@Table(name = "ete_masterdata_securities")
@EqualsAndHashCode(callSuper = true)
public class Security extends AbstractEntity {

    public enum EquityType { BOND, EQUITY, INV }

    @Enumerated(EnumType.STRING)
    private EquityType type;

    @Column(nullable = false)
    private String isin;
    @Column(nullable = false)
    private String name;

    private String wkn;
    private String yahooSymbol;
}