gpt4 book ai didi

java - 数据模型设计和许可

转载 作者:行者123 更新时间:2023-12-02 11:19:25 24 4
gpt4 key购买 nike

我正在努力创建 structured interviewing应用程序。

从高层次来看,我的 DataModal 看起来像:

Class Question
id: String
type: ENUM => Technical, NonTechnical
title: String
description: String

Class Technical
Topic: String
Subtopic: String
List <Example>
List <Solution>

Class NonTechnical
List <Solution>

我正在使用 Hibernate/JPA 和 MS Sql。这里的问题是

  1. 我想要一组针对技术和非技术问题的不同读/写/更新/删除权限。就像只有开发人员才允许对技术问题进行写访问,只有人力资源人员才允许对非技术问题进行写访问等。是否可以使用上面的数据模式来实现这一点,或者我应该将技术和非技术问题保存在两个不同的数据库中?

  2. Hibernate 是正确的选择还是应该使用 Mybatis?

非常感谢这里的线索!

谢谢!

最佳答案

首先,您需要区分应用程序工作流程与许可。通常,权限侧重于允许对资源进行不同类型的访问(例如,“组 x 的成员具有对文件 y 的读取权限,但没有写入权限”)。权限通常在应用程序本身外部进行管理。

另一方面,工作流程表示“向 x 类型的用户显示应用程序的以下 View ,向 y 类型的用户显示不同的 View ” - 例如,Stack Overflow 向具有高声誉的用户显示一组不同的工具。这是基于权限的,但通常它是“嵌入”到应用程序中的。

我不知道您的正确答案,但在决定任何特定框架之前我会考虑一下。

回答你的第一个问题:

Is it possible to achieve this with the data modal above or I should keep Technical and Non Technical questions in two different databases?

不,您的数据模型不完整。它没有显示您如何对用户进行建模 - 您的应用程序如何知道登录的用户类型?绝对没有理由将不同类型的问题存储在不同的数据库中 - 使用数据库级权限来实现应用程序级安全性的情况并不常见。

Is Hibernate a right choice or I should use Mybatis?

该选择与您描述的问题无关。

关于java - 数据模型设计和许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com