卡宴是我的要求的好选择吗?

Sud*_*eer 5 java orm hibernate apache-cayenne

我们正在为我的项目评估ORM解决方案,该解决方案在业务层和数据层(JDBC)之间具有紧密耦合.我开始用Cayenne做一个PoC.我的要求是这样的a)已经存在数据库模式b)模式是非常精细的级别.即实时java对象仅通过组合表来派生.c)目前我只想执行读取操作(通过输入标准对列表进行精确过滤和排序)

到目前为止,我对Cayenne所做的观察是:1)表和对象是紧密耦合的.Modeler不允许在没有关联表的情况下创建java对象.2)我找不到简单的方法将命名查询的输出映射到java对象,以便以应用程序需要的方式获取列表.3)我也不确定Expressions是否可以使用命名查询.

我想知道您对我的要求的最佳选择吗?

先感谢您.

Pas*_*ent 5

如果我不得不选择一个ORM工具或一个JPA提供商,它就不会仅仅是因为它似乎没有被广泛使用,所以它背后的社区不是很大而且这是一个问题.因此没有必要讨论技术问题,像Cayenne 2.0这样的东西是侵入性的,你必须实现一个接口或扩展一个超类(Cayenne 3.0有POJO支持,但在2年多之后仍然处于测试阶段......).不,真的,如果你需要一个ORM工具,我认为没有任何理由不选择Hibernate,即事实上的标准.

但...

鉴于你的要求,ORM可能实际上不是最佳选择,因为b)因此我会考虑使用iBatis(它不是O/R映射器,它是数据映射器).