我有一个数据库架构在我们控制之下的项目。我们在MySQL数据库上使用JPA2(目前是Eclipselink,但我们可以转移到Hibernate以便我们可以使用Audit envers框架)。
我遇到的问题是我们正在编写的应用程序取决于通过3个@OneToMany关系相关的3个实体经常重复查询。跨这三个实体(以及两个连接表)的结果连接遇到了死锁问题,我正在尝试解决这些问题(我认为5个表中连接的低效率是原因)。
任何人都可以建议@OneToMany关系的重组是否合适,以便没有连接表会在JPA设置中更好地表现连接查询?我相信在JPA2中,您可以将父对象上的mappedBy参数设置为指向子对象上的一个字段,该字段模仿表达一对多关系的标准方式,其中子对象的FK指向父对象。
但是,从JPA的角度来看,我发现这种方法并不是最好的。
有没有人有这种情况可以分享的经验?