实体管理器刷新

发布于 2024-08-08 14:18:56 字数 119 浏览 4 评论 0原文

我对一些数据库表进行了逆向工程,并制作了外观接口和实现类。 我需要对实体执行刷新(),但 EntityManager 对于逆向工程是私有的,并且我不想编辑逆向工程类。 我如何获取 EntityManger 以便调用刷新()?

I reverse engineered some db tables, and a facade interface and implementing class were made.
I need to do a refresh() on an entity, but the EntityManager is private from the reverse engineering, and I do not want to edit a reverse engineerined class.
How do I go about getting the EntityManger so I may call refresh()?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽你眉间 2024-08-15 14:18:56

如果私有是您唯一的障碍并且您没有其他合理的解决方案,请尝试使用反射?

Field entityManagerField = reverseEngineeredInstance.class.getField("entityManager");
entityManagerField.setAccessible(true);
EntityManager entityManager = entityManagerField.get(reverseEngineeredInstance);

现在您就有了 EntityManager。当然,我不建议在生产代码中使用反射,但如果是这样或什么都没有,那就继续吧。

If private is your only barrier and you have no other reasonable solution, try using reflection?

Field entityManagerField = reverseEngineeredInstance.class.getField("entityManager");
entityManagerField.setAccessible(true);
EntityManager entityManager = entityManagerField.get(reverseEngineeredInstance);

And there you have your EntityManager. Naturally, I would not recommend using reflection in production code, but if it's that or nothing, then go ahead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文