HI,
到目前为止,我对Hibernate的使用非常满意。最近我似乎无法使用注释来持久保存@CollectionOfElements。
我正在保存一个Estate类的对象,它包含一个RoomGroups的Map,就像这里:
@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>();
RoomGroup正确保留。而RoomGroup也与MasterPrice有关系
@Cascade(value = {CascadeType.DELETE_ORPHAN, CascadeType.SAVE_UPDATE})
@OneToOne(mappedBy = "roomGroup", fetch = FetchType.EAGER)
private MasterPrice prices;
到目前为止,MasterPrice元素正确存储在DB中。现在在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{
我还在MasterPriceItem中定义了相同的/ hashCode方法,但似乎hibernate永远不会持久存在。我没有得到任何异常,当我尝试加载它时总是出现NULL。
我正在使用hibernate_3.3.1.ga任何我可以尝试的想法?通过hibernate正确分析了MasterPriceItem类[如果我放置一个不在表中的字段,我会收到错误]
任何帮助高度赞赏。谢谢。