gpt4 book ai didi

java - Hibernate 3 - 可以安全地重用 IntegerType/StringType 等对象吗?

转载 作者:行者123 更新时间:2023-11-29 04:10:59 25 4
gpt4 key购买 nike

我有一些使用 Hibernate 3 的代码/应用程序。

它的调用方式如下:
query.setParameter("MRC", getPageName(), new StringType());
query.setParameter("MBID", getMBID(), new IntegerType());

我想用一些代码替换这些调用:
query.setParameter("MRC", getPageName(), STRING_TYPE);
query.setParameter("MBID", getMBID(), INTEGER_TYPE);

这样我就不必实例化这些对象(第三个参数)每次。

这里的STRING_TYPEINTEGER_TYPE将是静态私有(private)类变量分别是 StringTypeIntegerType 类型。

我想知道这样做是否安全(例如,从多线程的角度来看,或者纯粹从对象重用的角度)。

我注意到在后来的 Hibernate 版本中,他们强制使用第二种编码方式,但我不确定遵循它是否安全Hibernate 3 中的这种新模式也是如此。

有什么想法吗?

最佳答案

StringType 有一个 INSTANCE-Field,其中包含一个您可以重复使用的实例。 Java 和 SQL 类型之间的类型类映射并且没有状态,因此可以重用它们。

关于java - Hibernate 3 - 可以安全地重用 IntegerType/StringType 等对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55186443/

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