因为我的项目可能适用于mysql或oracle,所以我有一种产生id的方法。当插入新的学生记录时,学生记录应调用该方法来产生id。但是我很好奇的是什么时候调用该方法,现在我的项目是由Spring Cloud构建的。我应该在服务模块中调用该方法,并将具有id的Student对象传递给dao模块。还是我将学生对象和dao模块传递给ID生成器? 哪种方法更好?
答案 0 :(得分:1)
好的,我决定扩展我的评论。
在我看来,一种更好的方法是在dao内部生成id,因为您需要id才能将对象保存在数据库中,因此必须确保已生成id。例如,如果您有多个客户端,并且每个客户端可以保存到学生数据库对象,则很难确保每个客户端都以正确的方式使用id生成器方法。如果您使用此方法,则无需担心id的验证。
此外,在dao内部生成id遵循低耦合原理。