1

我使用 Netbeans 从 db 开始自动创建 jpa 实体。现在我需要在这些实体中插入一些逻辑代码。例如,首先我需要为每个 jpa 实体类编写一个自定义的 toString() 方法。问题是我必须把代码放在哪里?我知道当我在下一次数据库模式更新后再次启动 jpa“向导”时,jpa 类可能会被 Netbeans 覆盖。所以我想在不放弃 Netbeans 的 jpa 自动生成功能的情况下编写一些实体逻辑。我是否需要使用诸如合并工具、预处理器功能之类的外部工具,或者我需要实现一些继承类或特定模式?过去我使用过 Apache Cayenne。对于每个 db 实体,它都会创建两个 java 类。第一个(父级),具有字段实体映射,

任何建议将不胜感激。

来自意大利的问候

4

3 回答 3

2

从模式生成实体 bean 的另一种方法是允许 JPA 从实体 bean 创建模式。我发现它使数据库模式的更新和维护变得更加容易。

于 2010-12-18T14:10:47.787 回答
0

是的,我可以使用修订控制系统将自定义源代码与自动生成的代码同步。但是在 jpa 实体类中编码业务逻辑是否正确???

于 2010-12-20T11:47:16.257 回答
0

我建议您将其作为源代码控制问题来解决。生成你的类,然后根据需要修改它们。满意后将结果检查到源代码管理中。当数据库模式改变时,重新生成类。他们将缺少您的修改,但这很好。现在,将您的本地代码副本与源代码控制中的内容同步:您将看到两种传出更改:为反映架构中的更改而进行的更改,以及删除您的修改(因为它们已被盲目地覆盖)。使用您的源代码管理工具丢弃后一种更改,并保留前一种;本质上,您正在将新生成的版本与旧的修改版本合并,并从两者中保留您想要的位。

我不使用 NetBeans,所以我无法详细描述如何执行此操作。在 Eclipse 中,这很简单:重新生成,全选,Team > Synchronize,然后在需要的地方执行“从右到左复制当前更改”。

于 2010-12-18T16:34:29.957 回答