hibernate @CollectionOfElements не сохранился - PullRequest
1 голос
/ 16 ноября 2010

HI,

Я до сих пор пользуюсь Hibernate с большим удовлетворением.В последнее время кажется, что я не могу сохранить @CollectionOfElements с помощью аннотации.

Я сохраняю объект класса Estate, который содержит карту RoomGroups, как здесь:

@javax.persistence.MapKey(name = "code")
@Cascade(value = {CascadeType.DELETE_ORPHAN, CascadeType.SAVE_UPDATE})
@OneToMany(mappedBy = "estate")
@org.hibernate.annotations.OrderBy(clause = "code ASC")
private Map<String, RoomsGroup> roomGroups = new HashMap<String, RoomsGroup>();

The RoomGroupсохраняется правильно.И RoomGroup также имеет отношения с MasterPrice

@Cascade(value = {CascadeType.DELETE_ORPHAN, CascadeType.SAVE_UPDATE})
@OneToOne(mappedBy = "roomGroup", fetch = FetchType.EAGER)
private MasterPrice prices;

Пока все хорошо, элементы MasterPrice правильно хранятся в БД.Теперь внутри MasterPrice есть другая коллекция, и кажется, что она никогда не будет сохранена

@CollectionOfElements (fetch = FetchType.EAGER)
@JoinTable(
  name = "roomgroups_masterprice_items",
  joinColumns = {@JoinColumn(name = "fk_masterpricesID")})
@IndexColumn(name = "position")
private List<MasterPriceItem> dbprices = new ArrayList<MasterPriceItem>();

Класс MasterPriceItem определен так:

@Embeddable
public class MasterPriceItem implements Serializable{

Я также определил равен / hashCodeметоды в MasterPriceItem, но кажется, что hibernate никогда не сохраняется этот.Я не получаю никаких исключений, и когда я пытаюсь загрузить его, он всегда отображается как NULL.

Я использую hibernate_3.3.1.ga. Есть идеи, которые я могу попробовать?Класс MasterPriceItem правильно анализируется с помощью hibernate [если я добавлю поле, которого нет в таблице, я получу сообщение об ошибке]

Любая помощь высоко ценится.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...