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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> @SequenceGenerator & @Embeddable, не генерится id 
:(
    Опции темы
chaos
Дата 4.12.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Доброго времени суток!

столкнулся с проблемой:
есть таблица
Код

CREATE TABLE CLUB.STRINGS
(
    STRING_ID NUMBER(6, 0) NOT NULL,
    LANG_ID VARCHAR2(5) DEFAULT 'en_US' NOT NULL,
    TEXT NVARCHAR2(100) NOT NULL,
    CONSTRAINT STRINGS_PK PRIMARY KEY
    (
        STRING_ID, LANG_ID
    ) ENABLE
);


есть следующий мапинг
Код

@Embeddable
class StringsPK implements Serializable {
    private static final long serialVersionUID = 6241862330900979310L;

    @Column(name = "STRING_ID")
    public int stringId;

    @Column(name = "LANG_ID")
    public String langId;
}

@Entity
@Table(name = "STRINGS")
@IdClass(StringsPK.class)
@SequenceGenerator(name = "STRINGS_GENERATOR", sequenceName = "STRINGS_SEQUENCEE")
public class ClubString {
    @Id
    @GeneratedValue(generator = "STRINGS_GENERATOR")
    public int stringId;

    @Id
    public String langId;

    @Column(name = "TEXT", nullable = false, length = 100)
    public String text;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("ClubString[string_id: ");
        sb.append(stringId);
        sb.append(", lang_id: ");
        sb.append(langId);
        sb.append(", text: ");
        sb.append(text);
        sb.append("]");
        return sb.toString();
    }
}



проблема заключается в следующем:
Если я для объекта ClubString задаю text, langId и сохраняю то stringId всегда = 0. Как заставить работать генератор для stringId?
PM WWW   Вверх
Hidrag
Дата 4.12.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Когда задаешь text, langId, попробуй для stringId задать null


--------------------
user posted image
PM WWW ICQ   Вверх
chaos
Дата 4.12.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Цитата(Hidrag @ 4.12.2009,  11:26)
Когда задаешь text, langId, попробуй для stringId задать null

попробовал у тип у stringId поменять на Integer - не помогло. генератор даже не вызывается :(
PM WWW   Вверх
Hidrag
Дата 4.12.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "commonBlockSequence")
    @DocumentId
    public Long getId() {
        return id;
    }



не?


--------------------
user posted image
PM WWW ICQ   Вверх
chaos
Дата 4.12.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Цитата(Hidrag @ 4.12.2009,  12:04)
Код

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "commonBlockSequence")
    @DocumentId
    public Long getId() {
        return id;
    }



не?

а что в этом примере есть, чего нет у меня?

PM WWW   Вверх
Hidrag
Дата 4.12.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

strategy = GenerationType.SEQUENCE



--------------------
user posted image
PM WWW ICQ   Вверх
chaos
Дата 7.12.2009, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Hidrag, все не то  smile 
PM WWW   Вверх
chaos
Дата 9.12.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



up
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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