我反向设计了一些数据库表,并制作了一个外观接口和实现类。 我需要在实体上执行refresh(),但EntityManager是逆向工程中的私有,我不想编辑反向工程类。 如何获取EntityManger以便我可以调用refresh()?
答案 0 :(得分:1)
如果私有是您唯一的障碍而您没有其他合理的解决方案,请尝试使用反射吗?
Field entityManagerField = reverseEngineeredInstance.class.getField("entityManager");
entityManagerField.setAccessible(true);
EntityManager entityManager = entityManagerField.get(reverseEngineeredInstance);
你有你的EntityManager。当然,我不建议在生产代码中使用反射,但如果它是那样或什么都没有,那就继续吧。