我们正在使用Libgdx / Netty开发2D MMORPG太空射击游戏,我们遇到了一个我们无法解决的有关数据的问题。
我们被困住请帮助我们做出决定。
答案 0 :(得分:2)
我们被困住请帮助我们做出决定。
这肯定取决于要求。而现在我的想法。如果主要目标是性能,我建议您实施自己的ORM
,因为您将完全控制查询,主要是您可以针对特定要求优化所有查询。
我不是说JPA
,EclipseLink
或其他框架肯定是错误的,但大多数ORM
框架主要用于指定独立于数据库层的目标因此,应用程序独立于数据源类型,但您肯定可以通过实现适当的数据源设计模式来实现它,即AbstractDAOFactory
,Mappers
等。
我还要提到自己ORM
的主要缺点是实现需要花费很多时间,但如果你想创建一个优秀,高效且有效的项目,它必须花费一些时间。
对于这是很多观点,有人建议您使用JPA
,Spring
或JDBC
(其中JDBC
肯定会更快JPA
)和有人更喜欢自己的ORM
。我认为从更多开发者那里获得的经验应该足够了。
如果您想使用技术,请使用您熟悉的技术。
答案 1 :(得分:2)
您无法通过谈论技术和猜测来决定性能问题。唯一的方法是对它们进行基准测试,并为您真正关心的交易获取一些真实数据。
编写基于接口的DAO,使用每种候选技术实现,并测量实际结果。这是如何决定使用哪种持久性技术。
你知道哪一个?如果没有人知道NoSQL,请不要使用它。如果您不了解JPA,请不要使用它。 Spring JDBC模板允许您使用事务编写自定义SQL。如果您已经熟悉关系数据库和Spring,为什么不使用它呢?