gpt4 book ai didi

java - Spring Data @NamedQuery 和 @NamedNativeQuery 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 19:56:50 30 4
gpt4 key购买 nike

我目前正在学习 Spring Data,谁能解释一下它们 @NamedQuery@NamedNativeQuery 之间的区别以及何时使用它们?我们可以在 @NamedQuery 中使用原生 SQL 吗?

最佳答案

@NamedQuery用于使用 JPQL(JPA 标准的标准查询语言)编写查询。这是默认设置,您应该尽可能坚持使用这些查询,因为它们独立于您使用的具体 DBMS。

另一方面,

@NamedNativeQuery 用于编写 native 查询(在 SQL 中),这可能是特定于 DBMS 的。

这是一个权衡。 @NamedQuery 为您提供可移植性,因为您坚持标准。 @NamedNativeQuery 为您提供了灵 active ,但您离开了标准并可能失去可移植性。如果您切换到另一个 DBMS,您可能需要重写一些 @NamedNativeQuery 定义。

因此,如果确实有必要,我们应该只使用@NamedNativeQuery

关于java - Spring Data @NamedQuery 和 @NamedNativeQuery 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49345173/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com