Я пытаюсь каскадно переопределить некоторые атрибуты, то есть в сущности
@Embedded
@AttributeOverrides({
@AttributeOverride( name = "start", column = @Column(name = "override_start",nullable = true)),
@AttributeOverride( name = "end", column = @Column(name = "override_end",nullable = true)),
@AttributeOverride( name = "rot_x", column = @Column(name = "override_rotation_x",nullable = true)),
@AttributeOverride( name = "rot_y", column = @Column(name = "override_rotation_y",nullable = true)),
@AttributeOverride( name = "rot_z", column = @Column(name = "override_rotation_z",nullable = true)),
@AttributeOverride( name = "pos_x", column = @Column(name = "override_position_x",nullable = true)),
@AttributeOverride( name = "pos_y", column = @Column(name = "override_position_y",nullable = true)),
@AttributeOverride( name = "pos_z", column = @Column(name = "override_position_z",nullable = true)),
})
private SceneInstanceOverrides overrides = new SceneInstanceOverrides();
Я создал компонент
public class SceneInstanceOverrides{
@Column(name = "start", nullable = false)
private Double start;
@Column(name = "end", nullable = false)
private Double end;
@Embedded
@AttributeOverrides({
@AttributeOverride( name = "pos_x", column = @Column(name = "x",nullable = true)),
@AttributeOverride( name = "pos_y", column = @Column(name = "y",nullable = true)),
@AttributeOverride( name = "pos_z", column = @Column(name = "z",nullable = true)),
})
private NodeXYZ position;
@Embedded
@AttributeOverrides({
@AttributeOverride( name = "rot_x", column = @Column(name = "x",nullable = true)),
@AttributeOverride( name = "rot_y", column = @Column(name = "y",nullable = true)),
@AttributeOverride( name = "rot_z", column = @Column(name = "z",nullable = true)),
})
private NodeXYZ rotation;
}
, который использует другой компонент
@Data
@Embeddable
@NoArgsConstructor
public class NodeXYZ {
@Column(name = "x", nullable = true)
private Double x = 0.0;
@Column(name = "y", nullable = true)
private Double y = 0.0;
@Column(name = "z", nullable = true)
private Double z = 0.0;
}
В основном я хочу, чтобы JSON был возвращен
sceneInstance:{
...
overrides: {
start: 0,
end: 0,
position : {
x: 0,
y: 0,
z: 0,
}
rotation : {
x: 0,
y: 0,
z: 0,
}
}
}
Но все данные находятся в объекте sceneInstance.
Я получаю ошибку
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: co.showhow.model.SceneInstance column: x (should be mapped with insert="false" update="false")
Но я хочу, чтобы они были вставляемыми и обновляемыми.