gpt4 book ai didi

java - em.find 和 em.createQuery 有什么区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:14 28 4
gpt4 key购买 nike

em.find(Enity.classs, Id)

em.createQuery("SELECT e From Entity e WHERE e.Id=:id")

它们是等价的吗?如果不是,它们有何不同?

最佳答案

前者可能更快,因为 JPA 提供程序不必解析 JPA 查询。但是生成的 SQL 应该是完全一样的。

此外,我认为一些提供商在缓存方面可能会以不同的方式对待它们——按键缓存与查询缓存。

最后,API 使用 find() 更令人愉快 - 它返回单个条目或 null。后者要么只返回一个结果(getSingleResult() - 或抛出),要么返回一个列表(getResultList())。

关于java - em.find 和 em.createQuery 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9525541/

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