Получение исключения при сохранении отображения коллекции Hibernate - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь сохранить следующую сущность, но получаю исключение сопоставления «Не удалось определить тип». Я не могу найти подходящий пример для того же. Я пытался использовать @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();

Исключение:

Initial SessionFactory creation failed.org.hibernate.MappingException: Could not determine type for: java.util.List, at table: event_photos, for columns: [org.hibernate.mapping.Column(photoName)]
Exception in thread "main" java.lang.ExceptionInInitializerError
    at hibernate.HibernateAssignment.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:20)
    at hibernate.HibernateAssignment.util.HibernateUtil.<clinit>(HibernateUtil.java:11)
    at hibernate.HibernateAssignment.topic3.main.TopicThreeAssignmentTwoManager.main(TopicThreeAssignmentTwoManager.java:22)
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, at table: event_photos, for columns: [org.hibernate.mapping.Column(photoName)]
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:336)
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:310)
    at org.hibernate.mapping.Collection.validate(Collection.java:315)
    at org.hibernate.mapping.IndexedCollection.validate(IndexedCollection.java:89)
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1362)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1849)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
    at hibernate.HibernateAssignment.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:16)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...