Как сделать отображение перечисления в таблицу базы данных? - PullRequest
0 голосов
/ 29 октября 2018

вопрос, аналогичный этому: JPA Тип перечисления в виде таблицы в базе данных

У меня есть перечисление вот так:

public enum OrderStatus {

    CREATED(0, true), 
    DRIVER_ASSIGNED(2, false), 
    ROUTE_ASSIGNED(4, false), 

    SUCCESSFULLY_FINISHED(20, true),

    CANCELLED(100, true);

    @Id
    final int id;
    final boolean visibleForClient;

    OrderStatus(int id, boolean visibleForClient) {
        this.id = id;
        this.visibleForClient = visibleForClient;
    }
}

и хотите увидеть его в виде таблицы:


| ORDER STATUS         | ID | IS_VISIBLE_FOR_CLIENT |
|----------------------|----|-----------------------|
| CREATED              |  0 | TRUE                  |
| DRIVER_ASSIGNED      |  2 | FALSE                 |
| ROUTE_ASSIGNED       |  4 | FALSE                 |
| SUCCESSFULLY_FINISHED| 20 | TRUE                  |
| CANCELLED            |100 | TRUE                  |

1 Ответ

0 голосов
/ 30 октября 2018

Похоже, вы ищете начальный ввод данных в вашу таблицу с вышеуказанными данными.

  1. Вы можете создать структуру таблицы выше с помощью следующего кода

    @Entity
    public class OrderTracker {
    
    @Id
    @Column(name = "ID")
    private int id;
    
    @Column(name = "IS_VISIBLE_FOR_CLIENT")
    private boolean visibleForClient;
    
    @Column(name = "ORDER_STATUS")
    @Enumerated(EnumType.STRING)
    private OrderStatus orderStatus;
    
    public OrderTracker(int id, boolean visibleForClient, OrderStatus orderStatus) {
        this.id = id;
        this.visibleForClient = visibleForClient;
        this.orderStatus = orderStatus;
    }
    
    
    //setter & getter 
    
    public enum OrderStatus {
    
        CREATED(0, true),
        DRIVER_ASSIGNED(2, false),
        ROUTE_ASSIGNED(4, false),
        SUCCESSFULLY_FINISHED(20, true),
        CANCELLED(100, true);
    
        final int id;
        final boolean visibleForClient;
        OrderStatus(int id, boolean visibleForClient) {
            this.id = id;
            this.visibleForClient = visibleForClient;
        }
    }
    

    }

  2. Для создания исходных данных в таблице вы можете использовать пролет или жидкостную базу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...