答案是肯定的。
这是因为Actor-> Movie的关系有一个属性as_character
,你也可以找到一种不做类的方法,但是很长一段时间它会导致问题(也许是因为你忘记了它而创建的一些愚蠢的bug,或者某人否则不知道它,你不想处理的东西)。
如果这是您的第一个方法,我认为可以让您感到困惑的是如何表达关系。
是进来首先想到的办法,大部分时间,是有一个ActorMovie类,如:
public class ActorMovie {
Integer actor_id;
Integer movieid;
String as_character;
//getters, setters, equals, hashCode, toString
}
但你也可以把它作为一个值Actor
(或Movie
)和有它喜欢:
public class ActorMovie {
Integer movieid;
String as_character;
//getters, setters, equals, hashCode, toString
}
和Actor
类:
public class Actor {
Integer actor_id;
String name;
String sex;
Set<ActorMovie> movies;
//getters, setters, equals, hashCode, toString
}
他们都解决了这些问题,他们只是改变你将如何通过代码与这些数据进行交互,以了解何时更好地使用这两种数据,你必须尝试两种方法并查看哪些变化,所以选择你感觉更多的东西“自然”并看到结果。
对我有意义。不知怎的,有这样的事情而不是引用id是错的吗? '公开课演员电影{ 演员演员; 电影电影; String as_character; // getters,setters,equals,hashCode,toString }' – Panque
好吧,我喜欢它。谢谢。 – Panque
是的,它也可以是一个解决方案!如果你使用'Movie',那么改变是因为有权访问'ActorMovie'的人可以调用电影的设置者,所以你可以加载一个ActorMovie,然后你可以做一些像'actorMovie.getMovie()。setName (“别的东西”)'。您在选择使用什么时需要考虑它(为了更好地解释关于总体设计模式的一些搜索) – rascio