RequestForQuoteConfig.java

package com.tradecloud.domain.configuration.requestforquote;

import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.model.requestforquote.GeneratedColumns;

import javax.persistence.*;
import java.util.HashMap;
import java.util.Map;

@Entity
@Table(name = "RequestForQuoteConfig")
@Access(AccessType.FIELD)
public class RequestForQuoteConfig  extends PersistenceBase {

    @ElementCollection(fetch = FetchType.EAGER)
    @CollectionTable(name = "column_preferences", joinColumns = @JoinColumn(name = "RequestForQuoteConfig_id"))
    @MapKeyEnumerated(EnumType.STRING)
    @Column(name = "is_visible")
    private Map<GeneratedColumns, Boolean> columnVisibility = new HashMap<>();

    public Map<GeneratedColumns, Boolean> getColumnVisibility() {
        return columnVisibility;
    }

    public void setColumnVisibility(Map<GeneratedColumns, Boolean> columnVisibility) {
        this.columnVisibility = columnVisibility;
    }
}