|   |      1 
                                  15
                             对于JAXB,请参见 Adding Behaviours . 基本上,您将JAXB配置为返回您通常期望的对象的自定义实例。在下面的示例中,您创建了一个新的对象Personex,它扩展了JAXB对象Person。这种机制可以很好地工作,因为您是从生成的类派生的,根本不改变JAXB类或模式。 请注意,@override指令在JAXB对象更改时非常重要-它将阻止您的自定义 孤儿 . | 
|   |      2 
                                  8
                             至于Hibernate,您可以调整代码生成中使用的模板文件来更改它们的行为。如果要调整休眠工具,可以编辑,例如: DAO/DAOHANT.FTL 您甚至可以向“toString()”输出添加字段,编辑 HBM.XML 文件夹 对于日志记录和验证,您可以考虑使用 AOP with AspectJ (我不建议对生成的代码进行处理,因为您可能需要从头构建多次代码)。 | 
|   |      3 
                                  4
                             首先,我要重申,修改生成的代码有许多与之相关的问题,在可能的情况下,应该避免修改。也就是说,有时避免或更多的工作是不切实际的,而不仅仅是在代码重新生成时处理更改。 遗憾的是,Java不支持C语言具有的部分类的概念。这些正是为了解决这类问题。 您应该看看您的代码生成工具是否支持某种形式的有意义的注释,这些注释限定了您在类中添加的区域(这不太可能,如果您修改代码而不是添加到代码中,也不会有帮助)。 如果您真的希望这样做,最好的选择是最初生成文件,但立即将它们签入版本控制存储库。 然后进行更改,签入。 下次您重新运行这些工具并让它们覆盖现有的文件时,您可以与受源代码控制的文件进行比较,然后将更改合并回(最简单的更改,如添加新的列/表将不费吹灰之力)。 如果代码生成器突然生成完全不同的代码(比如一个新版本),那么这对您没有多大帮助,但是在这种情况下,您添加的任何代码(不仅仅是依赖于已经公开的数据/方法的附加便利方法)都会有问题,不管它是如何混合到类中的。但是版本控制系统仍然有帮助,因为它还记录 最初的变化 因此,您可以看到以前添加的内容,以及您需要以新样式重新创建的内容。 | 
|   |      4 
                                  3
                             编辑生成的代码文件不是一个好主意,要么编辑它们自己的文件,要么通过子类化。无论您做什么,请确保工具创建的签名保持不变,以便将来可以理解该文件是自动生成的。 我建议您研究工具的命令选项,看看它们是否允许您使用一些灵活性。一些工具可以生成抽象类或接口,而不是具体的类。如果不可能,请创建一个域对象,该对象将自动生成的对象作为成员变量。 | 
|   |      5 
                                  3
                             我使用Hibernate的方法是生成我随后扩展的基类。我将所有业务逻辑(如果有的话)添加到这些子类中。我经常也会更改Hibernate使用的FreeMarker模板来进一步自定义生成的类。 | 
|   |      6 
                                  1
                             AOP引用是一个很好的引用。我将添加Spring,它内置了非常好的AOP特性。 | 
|   |      7 
                                  1
                             | 
|  | Alan Silva · 如何反序列化XML列表? 7 年前 | 
|   | yogsma · 从XSD模式生成Java类 7 年前 | 
|   | jsosnowski · JAXB、XJC:生成字段到类大纲 7 年前 | 
|   | akash prasad · 当我尝试POST请求时得到400响应 7 年前 | 
|   | Ayo K · 将Soap XML响应转换为对象 7 年前 |