Dql在教义vs SQL查询中选择

皮亚特·加拉斯(Piotr Galas)

在原则vs本机sql的'select'语句中使用DQL有什么好处?

例如

     $qb = $em->getRepository('repositoryname')->createQueryBuilder('r);
     $qb->someDqlCondition();
     $qb->getQuery()->getResult();

     $sql = 'string with SELECT sql statement'
     $query = $em->->createQuery($sql)
     $query->getResult();

我与同事讨论了这个问题,他说原生sql更好。我认为dql使我们能够更改数据库驱动程序。使用dql还有其他好处吗?性能如何?

枯萎

主义查询语言(DQL)就像查询的抽象。这使查询独立于项目所基于的(SQL)数据库的版本或类型。

从文档中:

您需要考虑将DQL作为对象模型而不是关系模式的查询语言。

这也意味着(就像@Matteo在他的评论中所说),您可以更轻松地将项目移植到另一种类型上,而不必重写所有查询。

使用该学说会使QueryBuilder这种抽象更上一层楼。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章