- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
像这样使用IdentifierGenerator时
<id name="id" column="id" type="long">
<generator class="com.persistence.generator.CustomGenerator">
<param name="max_lo">5</param>
<param name="sequence">A_SEQ</param>
</generator>
</id>
如果在多个类映射中使用相同的 CustomGenerator 类,Hibernate 会为每个类映射实例化 CustomGenerator 类。
是否可以只生成单个实例?
最佳答案
好吧,我不确定您是否可以共享一个实例,但您当然可以编写一个轻量级代理生成器来为您完成它,就像这样(为了简洁起见,我在这里使用静态,但这很容易成为一个单例模式或类似):
import org.hibernate.id.IdentifierGenerator;
public class SharedGenerator implements IdentifierGenerator {
private static final IdentifierGenerator underlyingGenerator = new UUIDGenerator();
@Override
public Serializable generate(SessionImplementor sessionImplementor, Object o) throws HibernateException {
return underlyingGenerator.generate(sessionImplementor, o);
}
}
然后在 Hibernate 配置中使用 SharedGenerator,因为所有实例都将调用底层生成器的相同实例。
关于java - 如何对所有映射使用相同的 IdentifierGenerator 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31987825/
我已经为我的应用程序实现了一个自定义生成器,并且我想将一个字符串作为第二个参数发送到 IdentifierGenerator 接口(interface),但我没有得到任何关于如何执行此操作的线索。不幸
像这样使用IdentifierGenerator时 5 A_SEQ 如果在多个类映射中使用相同的 CustomGenerator 类,Hiber
如何更改 Hibernate 中的默认 IdentifierGenerator。 我知道我可以为带有 Annotations/hibernate.cfg.xml 的表指定 IdentifierGene
当使用普通 Hibernate 时,可以通过以下方式完成: public class MyLocalSessionFactoryBean extends LocalSessionFactoryBean
当使用普通 Hibernate 时,可以通过以下方式完成: public class MyLocalSessionFactoryBean extends LocalSessionFactoryBean
要求 - MySQL 表中具有二进制 (20) 类型的主键,其中前 4 个字节表示当前时间戳(以秒为单位的纪元),其余 16 个字节表示 Type5(基于名称)UUID(去掉破折号)。 例如。 570
我是一名优秀的程序员,十分优秀!