【发布时间】:2013-07-26 14:07:45
【问题描述】:
这是我的实体类
@Entity // Model Class as a DB entity
public class UserDetails
{
@Id
private int userId;
private String name;
@ElementCollection
private Set<Address> listOfAddresses = new HashSet();
// Setters and Getters Below
}
这是我的地址类
@Embeddable
public class Address
{
private String Street;
private String City;
private String State;
private String PinCode;
// Setters and Getters Below
}
我正在使用独立的 Java 类尝试插入到我的 MySQL 数据库中。因为,我是 Hibernate 的新手,所以我现在只想使用这个注释而不是关系。
我的独立 Java 类名为 HibernateTest.java
public class HibernateTest
{
public static void main(String[] args)
{
UserDetails user = new UserDetails();
Address addr = new Address();
user.setUserId(1);
user.setName("Swateek");
addr.setCity("Berhampur");
addr.setPinCode("760001");
addr.setState("Odisha");
addr.setStreet("RKN");
user.getListOfAddresses().add(addr);
Address addrOff = new Address();
addrOff.setCity("Bangalore");
addrOff.setPinCode("560037");
addrOff.setState("MTH");
addrOff.setStreet("YH");
user.getListOfAddresses().add(addrOff);
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
}
}
现在,当我运行 HibernateTest 类时,我发现出现了这个异常。我不知道为什么。
Exception in thread "main" org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns:
【问题讨论】:
-
重复问题:stackoverflow.com/questions/6164123/… 使用
java.util.List修复了它 -
不是重复的。我想使用集合。收藏选择有问题吗?
-
即使我改变了它。我得到同样的错误。请问还有什么建议吗?
-
你使用什么版本的 Hibernate?
-
Hibernate 3. 我应该使用升级版吗?不过这只是为了练习。