为具有外键的表编写 DAO 时的最佳实践是什么?如果一个 DAO 访问另一个 DAO 的表可以吗?

问题描述 投票:0回答:1

我目前正在为模拟社交媒体平台编写一个小型 API。有两张 SQL 表,一张用于帐户,一张用于消息。帐户表有一个主键“account_id”,它也是“posted_by”下的消息表的外键。发布消息的一项要求是有效的帐户 ID。在执行插入语句之前,我必须检查给定的帐户 ID 是否有效。

在我的消息 DAO 中,我有一个私有方法,它获取帐户 ID 并在帐户表上执行 Select 查询,以查找是否存在具有相同 ID 的帐户。它返回 true 或 false。在帐户 DAO 中将该方法设置为公共方法是否是不好的做法?有什么方法可以确保它仅由消息 DAO 使用来检查现有帐户,而不将其设为消息 DAO 中的私有方法?

编辑:为此,我还最终为帐户 DAO 创建了一个类似的私有方法,以在注册新帐户之前检查用户名是否存在。我后来的想法是创建一个公共方法,如果某个给定 ID 下存在帐户,则返回 true 或 false。我认为,出于安全考虑,为了让消息 DAO 可以访问该方法,公开该方法是否存在本质上的错误。

dao javalin
1个回答
0
投票

请查看https://plugins.jetbrains.com/plugin/24593-daogenerator JetBrains的插件,它不仅可以为单表生成dao,还可以为查询表和主从表生成dao

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.