при тестировании моих объектов i получить ошибку внешний ключ без родителя; FKF7EC361BFEA0E826 table: DEVICE_DEVICE_PRESETS
Я тестирую, создавая объекты в моем конструкторе класса устройств . Ошибка возникает, когда я не создаю сохраненную предустановленную сущность и не добавляю ее в мой объект . если я создаю сохраненный предварительно установленный объект и добавлю его в объект моего устройства, код будет работать нормально.
(1) -The происходит ошибку при сохранении заданного объекта связан посредством явного столбца внешнего ключа, как показано ниже (stored_preset_num)
(2) - ошибка не происходит, когда объекты имеют одинаковые первичные ключи значений
Hibernate JPA foreign key no parent
Может кто-то, пожалуйста, помогите мне понять, почему, когда он связан только внешним ключом, он обеспечивает, чтобы существо присутствовало, а не просто соблюдало отношения? почему мне нужно создать хранимую предустановленного объект с (1), но не (2)
DEVICE
@OneToMany(cascade=CascadeType.ALL)
@JoinColumns({
@JoinColumn(name="device_id",referencedColumnName="device_id"),
@JoinColumn(name="node_id",referencedColumnName="node_id"),
@JoinColumn(name="instance_id",referencedColumnName="instance_id")
})
@LazyCollection(LazyCollectionOption.FALSE)
private List<DevicePreset> devicePresets;
DEVICE PRESETS
@ManyToOne
private Device device;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumns({ @JoinColumn(name="stored_preset_num",referencedColumnName=" stored_preset_num",insertable=false,updatable=false)
})
private StoredPreset storedPreset;
НАКОПИТЕЛЯМИ PRESET
@OneToOne
private DevicePreset devicePreset;
Спасибо, любая идея, почему я получаю эту ошибку с вышеуказанными изменениями? разбитое сопоставление столбцов для: devicePreset.storedPreset of: xxx.devices.xxx.entity.StoredPreset – user1518485
Попробуйте только аннотацию JoinColumn, как в моем отредактированном ответе. В противном случае задайте другой вопрос, указав полное сопоставление и полную трассировку стека исключения, которое вы получите. –