java - 关于 Hibernate 中查询的字符串创建以及这些查询如果是最终静态是否会减少对象创建

标签 java hibernate

鉴于此 Hibernate 代码段

@org.hibernate.annotations.NamedQueries({
    @org.hibernate.annotations.NamedQuery(
        name = "ASSIGNED_CONTINGENCIES",
        query = "select ctg.id from Cont ctg join ctg.labels cl where cl.id = :label_id and ctg.datasetId = tscommon.rdsidtodsid(:datasetting_id)...."
    )
})

这是否意味着每次我执行此操作时,每次都会创建“查询”字符串还是这是字符串驻留的情况?在 final static String QUERY 中进行查询,然后在 @NamedQuery 中使用它是否有益?那么同样的情况也适用于“name”吗?

最佳答案

字符串是字符串文字,因此在加载类时始终会被保留。

关于java - 关于 Hibernate 中查询的字符串创建以及这些查询如果是最终静态是否会减少对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506865/

相关文章:

Java/Hibernate 错误 : Connection leak detected. 内部连接池已达到最大大小,当前没有可用连接

java - org.hibernate.TypeMismatchException : Provided id of the wrong type for class

java - 创建名称为 'countriesDao' 的 bean 时出错 : Injection of autowired dependencies failed;

java - 如何使用 Hibernate 将 Java 对象映射到 H2 中的 clob 和 Postgres 中的 json

java - Android分享意向分享图片不存在

Java multiple extends Zk Component 变得非常冗长

java - 具有集合计数的 Spring JPA

java - 设计 FIX 消息编码器和解码器

java - 如何recyclerview适配器imageview选择打开相机获取图像并从照片库中选择图片?

java - 更改 Hibernate 默认表结构