我目前正在开发一款游戏服务器,用于主要针对智能手机的回合制持续世界游戏,我目前正在开始实施持久层,我正在寻找一些提示/建议。
我最初计划使用mybatis作为持久层,而mybatis-guice插件实现了一个简单的@Transactional注释,类似于Spring,但没有整个框架的重量。不幸的是,我放弃了mybatis,因为我发现我与ORM的争吵太多而我的关系设计并没有特别好地正常化。现在我基本上使用JDBC,我真的试图避免编写大量的样板代码来管理DAO调用字符串中的事务和连接。
我也避免在这里使用任何应用程序服务器或使用spring添加,因为它们似乎不适合,服务器在netty上直接运行java。鉴于这些条件是否有任何简单的交易经理或我是不是试图推动自己的?像mybatis-guice这样的@Transactional会很棒。
答案 0 :(得分:2)
如果您正在寻找更好的方法来进行数据库工作而无需使用完整的ORM,您可以查看JDBI。它是一个非常轻松的JDBC包装器,修复了很多瑕疵,遗漏和拉毛时刻。
答案 1 :(得分:1)
Spring和Hibernate组合是最好的IMO,根据您的需要,它们都很轻松。
目前我们正在使用OpenJPA,对此也非常满意。
它需要多亮?与Spring和Hibernate一起使用它们很轻松。 Guice是简单而轻量级的DI框架,我相信你知道但是通过增加交易管理等内容你会得到太多的低端开源产品*(我不是说Guice是低端的,无论如何)*你会发现它不比其他开源替代品轻,并且社区支持较少,因为没有多少人会使用它们。