Вы используете аннотацию @Transient
, что означает, что она не будет сериализована в дБ. Вы просто получаете значение столбца по умолчанию 0
, вероятно.
Другое дело, что вы вообще не используете @Embeddable
определение вложенного объекта, отметьте this
У вас должен быть следующий вложенный объект;
@Embeddable
@XmlRootElement(name = "phone")
public static class Phone {
@XmlElement(name = "area")
@Column(name = "phone-area")
private Integer area;
@XmlElement(name = "number")
@Column(name = "phone-number")
private Integer number;
// getter, setters
}
С @Embedded
на его объявлении в родительской сущности;
@Embedded
@XmlElement(name = "phone")
private Phone phone;
Кроме того, я предполагаю, что у вас есть геттеры, сеттеры, определенные для этих полей ...
Другая проблема заключается в том, что при использовании примитивных типов почти всегда лучше избегать их при использовании сущностей.