У меня есть вопрос, который немного беспокоит меня.
Когда я использую @ElementCollection в моей сущности, hibernate (3.5) генерирует мне таблицу без каких-либо ограничений.
Важное редактирование
Моя сущность является подклассом другого класса.Возможно, именно поэтому hibernate не генерирует pk и fk.
Edit End
public MyEntity extends BaseEntity
@ElementCollection(fetch=FetchType.EAGER)
private Set<String> test;
Заканчивается на (postgres 9):
CREATE TABLE myentity_test
(
entityid bigint NOT NULL,
test character varying(255)
)
Это моя ошибка, что hibernate не устанавливает никаких ограничений, таких как внешние ключи или уникальные индексы?Я мог бы установить его вручную, но я бы предпочел правильно аннотировать сущность, которая полностью (в максимально возможной степени) создает спящий режим.
С наилучшими пожеланиями, m
PS: вообще плохо,Перепутал две вещи, которые были в моей голове.я имел в виду @ ElementCollection.
PS: @Column помог создать уникальный индекс.Изменить: исправил имена в моем примере.
CREATE TABLE myentity_test
(
entityid bigint NOT NULL,
test character varying(255),
CONSTRAINT itemequipable_test_test_key UNIQUE (test)
)
Я бы ожидал что-то вроде этого (псевдокод):
CREATE TABLE myentity_test
(
entityid bigint NOT NULL PRIMARY KEY,
test character varying(255) PRIMARY KEY,
CONSTRAINT fk_entityid references (myentity) on entityid
)