当前位置: 首页 > 面试题库 >

如何启用Hibernate HiLo实体标识符优化器策略

和选
2023-03-14
问题内容

我正在通过类似的东西初始化没有任何XML的Hibernate

org.hibernate.SessionFactory sessionFactory = 
    new org.hibernate.cfg.Configuration().
    .setProperty(...)
    .setProperty(...)
    ...
    .buildSessionFactory();

我的班级使用的ID如

@Id @Generated(GenerationTime.INSERT) @GeneratedValue private Integer id;

所用的发电机SequenceStyleGenerator,这似乎是更换为过时SequenceGeneratorSequenceHiLoGenerator和什么。它用

public static final int DEFAULT_INCREMENT_SIZE = 1;

并且似乎允许通过配置

public static final String INCREMENT_PARAM = "increment_size";

但这就是我所能找到的全部。我想我必须设置一些属性“
xxx.yyy.increment_size”或以其他方式将其传递给Hibernate,但是我看不到如何做。

我知道@SequenceGenerator,但似乎被完全忽略了


问题答案:

我想您正在寻找如何为设置increment_size属性SequenceSytleGenerator

下面的示例代码段increment_size使用@GenericGenerator带有hilo优化器和SEQUENCE策略的注释进行设置。

@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hilo_generator")
@GenericGenerator(
        name = "hilo_generator",
        strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
        parameters = {
                // Or leave it out to get "hibernate_sequence".
                @Parameter(name = "sequence_name", value = "hilo_sequence"),
                // Or leave it out as this is the default.
                @Parameter(name = "initial_value", value = "1"),
                @Parameter(name = "increment_size", value = "5"),
                @Parameter(name = "optimizer", value = "hilo")
        })

您无法DEFAULT_INCREMENT_SIZE使用Hibernate配置属性全局设置。您需要改为使用@Id配置属性。



 类似资料:
  • 问题内容: 好的,我有以下代码来训练来自OpenNLP的NER标识符 我不知道我是否做错了什么,如果缺少什么,但是分类不起作用。我认为train.txt错误。 *发生 *的错误 是所有令牌仅被分类为一种类型。 我的train.txt数据类似于以下示例,但是条目的变化和数量更多。另一件事是,我每次都从文本中逐字逐句地查找,而不是所有标记。 有人可以证明我做错了吗? 问题答案: 您的训练数据不正确。

  • 当我试图在Keras中修改SGD optimizer的学习率参数时,我遇到了这个错误。我是否在代码中遗漏了什么,或者我的Keras安装不正确? 这是我的密码: 下面是错误消息: 回溯(最后一次调用):文件“C:\TensorFlow\Keras\ResNet-50\test\u sgd.py”,第10行,在model.compile(loss='mean\u squared\u error',op

  • 我正在使用Spring Boot 1.5.10和Spring Boot starter数据jpa。我有一个暂存表和一个生产表,它们都有相同的结构,只是表名不同。列包括: 复合键1 复合键2 复合键3 列A 列B c列 我收到以下错误: 原因:org.hibernate.注释异常:没有为实体指定标识符:com.foo.bar.StagingTbl 我有一个复合主键,类定义为: 我的具体类: 标识符应

  • 我用C SDL2 GLEW Opengl 4.1编程一个小的体素游戏,有点像Minecraft。 我正在尽可能优化体素渲染。 我把世界滑成一块块,而这块块又滑成一块块。 每个块包含16x16x16个块。 现在,如果编辑块(删除/放置块),我将重建完整块和相邻块,并将其与vao和vbo一起上载到图形卡。 现在,为了最小化顶点数据,我必须从cpu传输到gpu,我使用几何体着色器。 首先,这是个好主意吗

  • 本文向大家介绍Android 优化之app启动优化的实现,包括了Android 优化之app启动优化的实现的使用技巧和注意事项,需要的朋友参考一下 App 启动方式 冷启动 App 没有启动过或 App 进程被杀,系统中不存在该 App 进程,此时启动即为冷启动。需要创建 App 进程,加载相关资源,启动 Main Thread,初始化首屏 Activity 等。在这个过程中,屏幕会显示一个空白的

  • 在我的第一个opengl“体素”项目中,我使用几何着色器从gl_points创建立方体,它工作得很好,但我相信它可以做得更好。在alpha颜色中,我传递关于应该渲染哪些面的信息(跳过与其他立方体相邻的面),然后使用“引用”立方体定义创建可见面的顶点。每个点乘以3个矩阵。直觉告诉我,也许整张脸可以乘以它们,而不是每一点,但是我的数学技能很差,所以请建议。 ------- 更新的代码:------