Будьте в спящем режиме тот многим использующим что-то другое, чем первичный ключ

Вот короткий ответ: структура является рекордной структурой: каждый элемент в структуре выделяет новое место. Так, структура как

struct foobarbazquux_t {
    int foo;
    long bar;
    double baz; 
    long double quux;
}

выделяет [по крайней мере 112] байты в памяти для каждого экземпляра. ("По крайней мере", потому что ограничения выравнивания архитектуры могут вынудить компилятор дополнить структуру.)

, С другой стороны,

union foobarbazquux_u {
    int foo;
    long bar;
    double baz; 
    long double quux;
}

выделяет один блок памяти и дает ему четыре псевдонима. Так sizeof(union foobarbazquux_u) ≥ max((sizeof(int),sizeof(long),sizeof(double),sizeof(long double)), снова с возможностью некоторого дополнения для выравнивания.

6
задан ndsmyter 14 November 2017 в 13:13
поделиться

1 ответ

Решено с помощью

<set name="someSet" table="B" lazy="false">
    <key column="B_not_primary" property-ref="secondary_column" />
    <one-to-many class="BClass" />
</set>
4
ответ дан 17 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

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