我有一个具有 int 主键的实体 LearningUnit。实际上,它没有更多的东西。
Entity Concept 与其有如下关系: @ManyToOne @Size(min=1,max=7) private LearningUnit learningUnit;
在 Concept 的构造函数中,我需要检索具有最大主键的 LearningUnit。如果没有 LearningUnit 存在,我会实例化一个。然后我将 this.learningUnit 设置为检索/实例化。
最后,我在 try-catch 块中调用 Concept 的空构造函数,让 entitymanager 进行基数检查。如果抛出异常(我希望在已经有另外 7 个概念引用同一个 LearningUnit 的情况下出现异常。在这种情况下,我会用一个新的更大的主键实例化一个新的 LearningUnit。
如果有的话,请指出我上面概述的算法中的明显缺陷。