在保持休眠集合映射的同时获取异常

时间:2019-04-10 16:43:34

标签: hibernate hibernate-mapping

我正在尝试保留以下实体,但遇到映射异常“无法确定类型”。我无法找到合适的例子。我尝试使用#define CHECK_2(cond) \ do { \ if (not (cond)) {do_something();} \ } while(0) ,但没有帮助。

即使在正式文档中,我也找不到合适的示例Official site

实体:

@AttributeOverrides

主要方法:

@Entity
@Table(name="Album")
public class Album {

    @Id
    @GeneratedValue
    private int albumid;

    @Column(name="aname")
    private String aname;

    @ElementCollection
    @MapKeyColumn(name = "event")
    @Column(name = "photoName")
    @CollectionTable(name = "event_photos")
    private Map<String,List<String>> photos;

    // --- Set and get methods 
}

例外:

Session session = HibernateUtil.getSessionFactory().openSession();

      //Photo name 
      List<String> list = new ArrayList<>();
      list.add("Running photo");
      list.add("Standing photo");
      list.add("Sitting photo");


      // Event   
      Map<String,List<String>> map1 = new HashMap<>();
      map1.put("Engagement", list);
      map1.put("Marriage", list);


      Album album = new Album("Asia",map1);

      System.out.println("Inserting Album");
      session.beginTransaction();
      session.save(album);
      session.getTransaction().commit();

0 个答案:

没有答案