在我的E模型中,我有两个类(用户和例程),与许多关系相关,但我不知道如何将其转换为GvNIX代码。我应该在每个类中使用set属性来指定多到多个基数吗?例如:
field set --fieldName routines --class ~.objects.User --type ~.objects.Routine --cardinality MANY_TO_MANY
field set --fieldName users --class ~.objects.Routine --type ~.objects.User --cardinality MANY_TO_MANY发布于 2015-05-06 09:44:23
要在两个方向上映射多到多的关系,必须将一个方向定义为所有者,而另一个方向必须使用--mappedBy属性来定义其映射。
以典型的员工项目为例,一个员工可以参与多个项目,一个项目可以有多个员工。要创建这样的双向多到多关系,请使用字段set命令:
创建以下实体:
entity jpa --class ~.domain.Project
entity jpa --class ~.domain.Employee创建关系的所有者:
field set --class ~.domain.Employee --fieldName projects --type ~.domain.Project然后创建关系的另一面:
field set --class ~.domain.Project --fieldName employees --type ~.domain.Employee --mappedBy projects如果不使用--mappedBy,则持久性提供程序将假设存在两个独立的关系,最终将得到插入到联接表中的重复行。如果您有一个概念上的双向关系,但是数据库中有两个不同的连接表,那么您就不能使用--mappedBy,因为您需要维护两个独立的表。
最后,要定制生成的代码,只需使用JPA强制路克,请看一下Persistence/ManyToMany。
https://stackoverflow.com/questions/30028123
复制相似问题