2014-09-01 2 views
4

я не могу найти то, что случилось с моими примечаниями (я использовал официальную документацию гибернации)Hibernate - как сохранить Карта <UUID,POJO>

public class DashletContainer{ 

private Map<UUID, DashletData> dashletData = new HashMap<>(); 
//STUFF 

    @OneToMany(cascade = CascadeType.ALL) 
    @JoinTable(name = "rd_container_data") 
    @MapKeyColumn(name = "dashletdata_dashlet_id") 
    public Map<UUID, DashletData> getDashletData() { 
     return dashletData; 
    } 
} 


public class DashletData{ 

//STUFF 

    @Column(name = "dashlet_id") 
    public UUID getDashletId() { 
     return dashletId; 
    } 

    @ManyToOne(cascade = CascadeType.ALL) 
    public DashletContainer getDashletContainer() { 
     return dashletContainer; 
    } 
} 

и это структура моего присоединиться к таблице (rd_container_data) на базе:

dashletdata_id  | UUID 
dashletcontainer_id | UUID 
dashletdata_dashlet_id | UUID 

Проблема заключается в том, что я сохраняю объект контейнера. Карта внутри него остается нулевой и ничего не встает внутри соответствующей таблицы.

спасибо

ответ

2

@ Dave попробуйте добавить @MapKeyColumn(name = "dashletdata_dashlet_id") на имущество dashletData вместо этого на getter

+0

я сделал это и: org.postgresql.util.PSQLException: ОШИБКА: колонка dashletdat0_.dashletdata_key не существует. теперь я пытаюсь решить эту ошибку – MoienGK

+0

nope. это не проблема – MoienGK

+0

@ dave hmm ... как раз перед этим, данные есть .. ?? вы видели сгенерированный SQL, есть ли какой-либо вставленный оператор, запущенный для этой таблицы –

Смежные вопросы