I have a table that stores enumeration type values for web select. Here is the table structure:
create table enum_config (
config_id bigint auto_increment comment 'id' primary key,
table_name varchar(30) null comment 'table name',
col_name varchar(50) null comment 'column name',
enum_code varchar(100) null comment 'enum value',
enum_name varchar(500) null comment 'enum name'
) comment 'enums table';
config_id | table_name | col_name | enum_code | enum_name |
---|---|---|---|---|
1 | hotel_info | brand_code | 1 | brand1 |
2 | hotel_info | brand_code | 2 | brand2 |
3 | hotel_info | hotel_type | 1 | Self-Operated Hotel |
4 | hotel_info | hotel_type | 2 | Franchise Hotel |
So I want to create an enumeration class to use as a query parameter.The Java enumeration class I designed is as follows:
@Getter
public enum TableAndColumnEnum {
HOTEL("hotel_info", xxx);
private final String tableName;
private final xxx columnEnum;
TableAndColumnEnum(String tableName, xxx columnEnum) {
this.tableName = tableName;
this.columnEnum = columnEnum;
}
}
@Getter
public enum TableColumnEnum {
HOTEL_BRAND_CODE("brand_code"),
HOTEL_TYPE("hotel_type");
private final String column;
TableColumnEnum(String column) {
this.column = column;
}
}
I would like to use the field columEnum
like this:
String tableName = TableAndColumnEnum.HOTEL.tableName;
String columnName = TableAndColumnEnum.HOTEL.columnEnum.HOTEL_BRAND_CODE.column;
String columnName = TableAndColumnEnum.HOTEL.columnEnum.HOTEL_TYPE.column;
Does Java support this? Thanks!