Java 如何在NB平台模块中捕获运行时异常?

Java 如何在NB平台模块中捕获运行时异常?,java,eclipselink,jpa-2.0,netbeans-platform,Java,Eclipselink,Jpa 2.0,Netbeans Platform,如上所述,我希望通过捕获实体类不匹配时发生的异常来更新用户的数据库。我知道我可以向每个db接口方法添加catch语句,但这很容易出错*。其他的“轮询方法”也是可能的,但它们并不像我希望的那样通过捕获异常来进行中断驱动 我认为我要寻找的是在异常交付给用户之前捕获异常,这可能会导致应用程序崩溃。我会把我的挡块放在那里。我会把它放在一个非NB的应用程序中 我的理解是,异常是在实体的基础上抛出的,即只涉及一个未更改的实体的方法不会抛出任何异常,尽管其他实体已更改。 我也有类似的问题,但我想我的问题有点难

如上所述,我希望通过捕获实体类不匹配时发生的异常来更新用户的数据库。我知道我可以向每个db接口方法添加catch语句,但这很容易出错*。其他的“轮询方法”也是可能的,但它们并不像我希望的那样通过捕获异常来进行中断驱动

我认为我要寻找的是在异常交付给用户之前捕获异常,这可能会导致应用程序崩溃。我会把我的挡块放在那里。我会把它放在一个非NB的应用程序中

我的理解是,异常是在实体的基础上抛出的,即只涉及一个未更改的实体的方法不会抛出任何异常,尽管其他实体已更改。
我也有类似的问题,但我想我的问题有点难解决。我在服务器端使用JPA,而服务器实际上是一个Web服务提供者

持久性由容器管理,根据我的应用程序设置,它使用创建策略。当然,每次我更改实体并重新部署应用程序时,它都会抛出大量异常

我最终决定在一个单独的过程中创建/迁移现有数据库。也就是说,读取与实体关联的元数据并将其与当前数据库进行比较

之后,它会创建一个迁移脚本,以防数据库模式不同,从而在不丢失任何信息的情况下将其放入新的数据库模式。迁移脚本生成的复杂性取决于您计划如何处理数据类型更改或属性删除等情况。最后一步是在您的情况下重新部署应用程序启动它


我建议采用一种积极主动的方法,不要等到抛出异常,而是在运行应用程序之前尝试猜测更改。

这就是轮询和中断驱动的区别。我觉得后者更有效,更“自然”。