Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 2个应用和2个实体是否应该与JPA使用同一个表?_Java_Jpa 2.0_Eclipselink - Fatal编程技术网

Java 2个应用和2个实体是否应该与JPA使用同一个表?

Java 2个应用和2个实体是否应该与JPA使用同一个表?,java,jpa-2.0,eclipselink,Java,Jpa 2.0,Eclipselink,我喜欢在我的数据库中创建两个具有相同用户信息的java应用程序,但是一些与用户相关的信息仅与应用程序A相关,而其他信息仅与应用程序B相关 我的问题是,我是否可以为A编写用户类而忽略B的字段,反之亦然 或者,正确的加载字段的方法是懒惰的,让我永远不会使用的字段保持不变? 这会导致内存中的对象变大吗 或者,如果需要,最好冗余存储信息并在两个表/数据库中进行更新 请告诉我优点和缺点,或者什么会导致错误 如果这很重要,我会使用eclipselink和postgres thx@Vikdor但你的回答让更多

我喜欢在我的数据库中创建两个具有相同用户信息的java应用程序,但是一些与用户相关的信息仅与应用程序A相关,而其他信息仅与应用程序B相关

我的问题是,我是否可以为A编写用户类而忽略B的字段,反之亦然

或者,正确的加载字段的方法是懒惰的,让我永远不会使用的字段保持不变? 这会导致内存中的对象变大吗

或者,如果需要,最好冗余存储信息并在两个表/数据库中进行更新

请告诉我优点和缺点,或者什么会导致错误

如果这很重要,我会使用eclipselink和postgres

thx@Vikdor但你的回答让更多的问题在我脑海中浮现:)

  • 因此,您的回答的主要陈述是,只要我不违反表中的条件,就没有问题,对吗?

  • 假设至少有一个应用程序,可能两个都被大量用户使用。 保存冗余信息以防止性能问题是否更好?
    或者,将特定于a/B的信息保存在单独的对象/表中,并使用一个值标识用户(如他的电子邮件),这样我就有了3个数据库,1个用于a,1个用于a,1个用于B,1个用于B,1个用于基本用户信息(邮件、pw、用户名等)


  • 只要应用程序只从用户表中读取与其相关的信息,就可以仅使用对给定应用程序有意义的属性定义实体

    但是,如果要通过这些应用程序中的任何一个创建新的用户记录,则需要使用user的所有不可为null的属性定义实体。否则,插入将在数据库层失败

    关于内存中对象的大小,如果您的用户表相当大,并且如果您不使用大多数属性,并且只执行读取操作,那么这可能是一个很好的优化,以定义仅具有所需属性的用户实体