有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数据模型设计与许可

我正在创建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. 冬眠是正确的选择还是我应该使用Mybatis

这里的线索是感谢

谢谢


共 (1) 个答案

  1. # 1 楼答案

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

    另一方面,工作流表示“向x类型的用户显示应用程序的以下视图,而向y类型的用户显示不同的视图”——例如,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?

    选择与你描述的问题无关