准确地说,在上下文中,我正在处理一个相对较小但正在增加的数据库(约20个表)的单个开发实例。
我试图以这种方式迭代:
如果我可以自定义JPA实体生成本身并保存这一代定制以供进一步生成,那么这种迭代方式将非常有效。
答案 0 :(得分:0)
好的,我认为尝试自定义JPA实体生成器(从表生成实体)是错误的。
要在数据模型和数据层上迭代地处理从开始就不知道所有需求的问题,诀窍是使用生成器而不进行自定义,并将生成的类放在源代码控制之下。
您只能自定义这些生成的类的副本以满足您的需求(类型,导航,其他方法/枚举,...)。此副本将成为您的持久层。
当数据模型发展(新表,新属性,重命名,类型更改)时,您使用生成器并将现有生成的类替换为新生成的类。这样,您的源代码控制系统(可能是git)可以准确地告诉您哪些类是新的,哪些类已被删除以及您的持久层的哪个类需要哪些修改。
这是迄今为止我发现的最可靠,最有效的做法,可以迭代地处理数据模型,保留第一代使用生成器的好处。