Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JDO + enum 
V
    Опции темы
Feldsher
Дата 27.1.2011, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 14.3.2006

Репутация: нет
Всего: нет



Как описать?
Заранее спасибо.

Это сообщение отредактировал(а) Feldsher - 27.1.2011, 01:55
PM MAIL   Вверх
emmanuil
Дата 28.1.2011, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: нет
Всего: 3



Я пробовал использовать JDO. Подкупало то, что можно под любое хранилище использовать. Использовал DataNucleus. Но так много ограничений и всяких граблей.
Он не понимает generic.
Код

T id

С таким кодом он не работал, даже если в маппинге явно пропишешь тип. С наследованием там плохо. Маленькое сообщество. Много багов в плагинах. Более менее работает только для РСУБД. Свои запросы там не напишешь для маппинга. Парился и с ним, парился, плюнул и переделал все на Hibernate. С моего последнего использования хибера, появились улучшения. А теперь подумываю переделать на MyBatis (или подобное), так как у меня есть своя сложная структура БД. И мне не нужно ее создавать, а хибер тяжелее батиса и мне нужно только получение объектов. Будет время, поковыряю этот батис.
Сайт DataNucleus
И если все еще хочется, то вот:
Код

public enum ActionType {

    DEFAULT(1),
    DEFAULT_2(2),
    DEFAULT_4(4);

    private int value;

    private ActionType(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public static ActionType getEnumByValue(int value) {
        switch (value) {
            case 2:
                return DEFAULT_2;
            case 4:
                return DEFAULT_4;
            default:
                return DEFAULT;
        }
    }
}

В маппинге класса, который использует перечисление:
Код

<field name="actionType" persistence-modifier="persistent" default-fetch-group="false">
                <column name="ActionTypeId" jdbc-type="integer" />
                <extension vendor-name="datanucleus" key="enum-getter-by-value" value="getEnumByValue" />
                <extension vendor-name="datanucleus" key="enum-value-getter" value="getValue" />
            </field>

У них на сайте есть описание.
PM MAIL   Вверх
Feldsher
Дата 30.1.2011, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 14.3.2006

Репутация: нет
Всего: нет



Большое спасибо за профессиональный ответ, у меня теперь полная ясность в этом вопросе.
С меня обязательно плюсы в репутацию.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.