如何在具有不同行的多对一关系字典表中?

时间:2013-11-23 21:51:39

标签: java mysql sql hibernate

我有问题。我在Hibernate中有多对一的关系 - 一个城市可以有很多学生。

我有这样的想法:

Student s = new Student("Mike", "Tyson");
City c = new City("London");

s.setCity(c);

session.save(c);
session.save(s);

它很有效:)

但..当我想这样做时:

    Student s = new Student("Mike", "Tyson");
    Student s1 = new Student("Mike", "Wilson");
    City c = new City("London");
    City c1 = new City("London");
    s.setCity(c);
    s1.setCity(c1);
    session.save(c);
    session.save(c1);
    session.save(s);
    session.save(s1);

我在表Cities中有两行,名称相同。迈克泰森,我和他们中的一个,迈克威尔逊,其中第二个。如何消除这种行为?

1 个答案:

答案 0 :(得分:1)

当然,你会得到两个同名的城市!您已经创建了两个具有相同名称的城市并存储了它们!为什么你认为有一些魔法统一了两个对象???

这个怎么样:

Student s = new Student("Mike", "Tyson");
Student s1 = new Student("Mike", "Wilson");
City c = new City("London");
s.setCity(c);
s1.setCity(c);
session.save(c);
session.save(s);
session.save(s1);