Автоматически добавьте префикс к именам столбцов для @Embeddable классов

Я думаю, что у некоторых были проблемы с идентификаторами, имеющими пробелы / и т. Д. Между ними или что-то в этом роде.

Я нашел обходной путь для решения проблемы.

Только что использовали:

var name = "a" + target;
var nameVal = document.getElementById(name).value;

и т. Д.

30
задан Bozho 19 November 2010 в 16:56
поделиться

2 ответа

Попробуйте установить свойство hibernate.ejb.naming_strategy в org.hibernate.cfg.DefaultComponentSafeNamingStrategy

27
ответ дан 28 November 2019 в 00:08
поделиться

Еще один способ решения этой проблемы - использование аннотаций @AttributeOverrides и @AttributeOverride. В вашем примере свойство Time_T.sec отображается в столбец sec. Вы можете отобразить ExampleClass следующим образом:

@Entity
public class ExampleClass {
    @Id
    long eventId;

    @AttributeOverrides(
        @AttributeOverride(name = "sec", column = @Column(name = "start_sec"))
    )
    Time_T startTime;
    Time_T stopTime;
}

Результатом является startTime.sec <=> start_sec и stopTime.sec <=> sec. Конечно, вы можете использовать аннотации для создания более значимого имени для столбца stopTipe.sec.

7
ответ дан Matheus Moreira 28 November 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: