gpt4 book ai didi

java - JPA @鉴别器 : how to cast one entity into another (based in discriminator)

转载 作者:行者123 更新时间:2023-11-30 11:56:01 24 4
gpt4 key购买 nike

我正在尝试创建一个包含不同类型用户的用户表。我有一个用户类,然后我将其扩展为 Customer 和 Employee 以及 Manager 和 admin,它们都位于同一个 Users 表中,但它们都有不同的鉴别器。

现在我的应用程序是这样的,首先用户进来并以用户身份登录,然后他要么成为客户,要么成为员工。在将用户创建为客户或员工后,我想稍后更改为经理或管理员。我该如何更新它。我怎样才能使鉴别器值不同于实体最初的值。

我可以使用简单的 sql 来更新我表中的 DTYPE 值,但我很确定 JPA 必须有一些更有效的方法。

或者我是否删除了之前的“员工”用户并创建了一个新的“管理员”用户。我尝试实例化该实体,但它没有给我任何可以更新该实体的鉴别器的方法。

谢谢赛义德。

最佳答案

也许对用户的角色建模会更好(例如客户员工经理Admin) 作为一个单独的实体,与 User 具有一对一关系(或多对一关系,如果 User 可能有多个 Role 同时)。然后,如果用户的角色发生变化,您可以简单地删除一个角色并创建另一个。

关于java - JPA @鉴别器 : how to cast one entity into another (based in discriminator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720739/

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