我是与Hibernate集成的Java开源项目的贡献者。我是开源领域的新手(作为贡献者),并且想了解如何管理依赖项。
在我们的项目中管理Hibernate代码库更改的最佳策略/方法是什么?
例如,在我们的代码深处嵌套是以下行:
ResultTransformer transformer = new PassThroughResultTransformer();
这里的默认构造函数会导致我们出现问题:
PassThroughResultTransformer.INSTANCE
有一个明确的分支,我们无法在同一个类中支持Hibernate 3.2和Hibernate 3.4。
在我们的代码库中管理此类问题的最佳方法是什么?
为每个Hibernate版本分配项目看起来像是一场噩梦,特别是在与我们自己的功能版本分层时。
答案 0 :(得分:1)
您必须先决定要支持的版本。例如,如果你绝对想要支持3.2和3.4,那么你需要编写一些代码,这些代码在运行时可以通过反射来做正确的事情。
您将通过使用反射丢失编译时检查,但您将支持该库的两个版本。
或者你可以说“从版本X开始,我们只支持Hibernate 3.3及更高版本”。