当前位置: 首页 > 面试题库 >

我需要为我的关系表创建代理密钥吗?

毛博
2023-03-14
问题内容

我有一个用于多对多实体的关系表。

author_id | book_id

我需要添加relationship_id吗?我应该能够使用两个ID进行识别。

谢谢


问题答案:

由于您使用的是Doctrine,因此请尽量不要在RDBMS级别上考虑太多(至少不是大部分时间)。

如果您有两个具有ManyToMany关系的实体,则应该忘记代理键。实际上,您应该几乎忽略关系表存在的事实。您仅具有两种相关的实体类型。

现在,如果您需要存储有关关系本身的元数据(例如,将徽章授予用户的日期),那么您将超越一个简单的ManyToMany,并且需要自己创建关系来建模-
通过创建一种新的关系实体(例如UserBadge)。该实体当然会有一个ID。

您正在使用ORM,请考虑实体,而不要考虑表(大多数时候)!



 类似资料:
  • 如何为密钥对创建X509证书?(我的类已经有了密钥对,我需要创建一个证书来保存我的公钥,然后将其存储在密钥库中)。 我期望有一个X509证书构造函数能够接收我的公钥,然后通过keystore.set条目(pvtkey,cert)存储它,但我没有发现任何有用的关联新证书和我的密钥对... 任何想法? 编辑:我也试图通过证书链为空,但它不起作用,它看起来像一个错误报告http://bugs.sun.c

  • 问题内容: 我的任务如下: 从我创建的密钥库中检索我的公钥和私钥。 使用这些密钥可以使用我的RSA 2048位公共密钥对段落进行加密。 使用DSA-SHA-1签名算法对结果进行数字签名。 将数字签名输出保存到名为的文件中。 下面的程序引发错误:“ java.security.InvalidKeyException:没有安装的提供程序支持此密钥:sun.security.provider.DSAPu

  • 在创建密钥库之前,它需要我创建应用程序Active Directory。我们为什么需要它?它甚至不是我的实际应用程序(即,我没有将我的应用程序上传到Azure,而是只在我的visual studio web应用程序中使用密钥库中的秘密)。我还是不明白那部分。

  • null 我对OSGi很陌生,所以任何人都可以澄清这些事情,不需要为log4j2特别说明。 谢了!

  • 问题内容: 我有一个网站,它的点击率很高,我遇到了问题,JDCB连接错误。 我对关闭有点困惑,我需要关闭还是仅关闭就足够了。 另外,我需要关闭它吗? 问题答案: 是的,您必须关闭PreparedStatement和结果集,因为它们可能导致内存泄漏。有关更多信息,请访问 http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html