我使用Netbeans从db开始自动创建jpa实体。 现在我需要在这些实体中插入一些逻辑代码。 例如,首先我需要为每个人编写一个自定义toString()方法 jpa实体类。 问题是我必须把代码放在哪里?我知道jpa课程可以 当我在下一次数据库架构更新后再次启动jpa“向导”时,Netbeans会覆盖它。 所以我想写一些实体逻辑而不放弃jpa自动生成 Netbeans的特点。 我是否需要使用外部工具,如合并工具,预处理器 功能还是我需要实现一些继承类或特定模式? 过去我使用的是Apache Cayenne。对于每个db实体,它创建两个java 类。第一个(父),字段实体映射,第二个 (一个空的子类)作为逻辑的容器,永远不会被覆盖 (并且不再生)。
任何建议都将不胜感激。
来自意大利的最好的问候
答案 0 :(得分:2)
从模式生成实体bean的另一种方法是允许JPA从实体bean创建模式。我发现它更新了&保持数据库架构更容易。
答案 1 :(得分:0)
我建议你解决这个问题作为源代码控制问题。生成您的类,然后根据需要进行修改。一旦你满意,请将结果检查到源代码管理中。数据库架构更改时,重新生成类。他们将缺乏你的修改,但这很好。现在,将代码的本地副本与源代码控制中的内容同步:您将看到两种传出更改:为反映架构中的更改而进行的更改以及修改的删除(因为它们已被盲目地覆盖)。使用你的源代码控制工具抛弃后一种变化,并保留前者;实际上,您正在将新生成的版本与旧的修改版本合并,并保留两者所需的位。
我不使用NetBeans,因此我无法详细描述如何执行此操作。在Eclipse中,它很简单:重新生成,选择全部,团队>同步,然后通过并在任何需要的地方“从右向左复制当前更改”。
答案 2 :(得分:0)
是的,我可以使用修订控制系统将自定义源与自动生成的代码同步。 但是在jpa实体类中编写业务逻辑是否正确???