我正在尝试保留以下实体,但遇到映射异常“无法确定类型”。我无法找到合适的例子。我尝试使用#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();