2013-12-03 2 views
-1

Мне нужно определить таблицу базы данных и ее столбцы как перечисление. Моя идея состояла в том, чтобы определить таблицу вызовов enum и определить отдельные перечисления с столбцами в таблице.Как определить Enum внутри enum в Java

Мой интерфейс столбец как такового:

public interface Column { 

} 

Моя база данных таблицы перечисление:

public enum Table { 


ORDER(orderTableColumn); 

private Column column; 

public Column getColumn() { 
    return column; 
} 

public void setColumn(Column column) { 
    this.column = column; 
} 

private Table(Column column) { 
    this.column = column; 
} 

}

Мой столбец ENUM.

public enum OrderTableColumn implements Column { 

ORDER_NUMBER("orderId"); 

private OrderTableColumn(String columnName) { 
    this.columnName = columnName; 
} 

private String columnName; 

public String getColumnName() { 
    return columnName; 
} 

public void setColumnName(String columnName) { 
    this.columnName = columnName; 
} 

}

Но это не работает. Может ли кто-нибудь решить это?

+0

Это скорее всего недействительный синтаксис: 'ORDER (orderTableColumn);'. Если у вас нет экземпляра 'OrderTableColumn', который вы пропустили, я не вижу этого компиляции. Кроме того, будьте более конкретными в отношении «не работает» - не компилируется ли он? Это не работает? Не дает ли он правильных результатов? – Makoto

+0

Это не компиляция, я хочу скомпилировать ее с той же архитектурой. Есть ли способ скомпилировать его? –

+0

По ... исправление проблемы синтаксиса. Что вы подразумеваете под 'ORDER (orderTableColumn)'? – Makoto

ответ

0

Вполне вероятно, что вы хотите, этот синтаксис вместо:

ORDER(OrderTableColumn.ORDER_NUMBER); 

Причиной этого является то, что работает OrderTableColumn реализует Column, что и Table требует, чтобы создать экземпляр перечисления.

+0

Мне нужно добавить несколько столбцов, можно ли добавить его? –

+0

Конечно. Просто создайте другое значение в списке 'OrderTableColumn', затем добавьте его в соответствующую' Таблицу'. Хотя я признаюсь, что ваш дизайн *** очень странный - это все еще возможно. – Makoto

+0

Что я хотел сделать, это указать имена столбцов где-нибудь в коде, и это должно быть так: ORDER.ORDER_NUMBER или ORDER.columns.ORDER_NUMBER –

Смежные вопросы