- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们尝试将项目形式 5.2.X 中的 hibernate 版本升级到 5.2.13.Final ,但新的 hibernate 正确强制
The scope of the generator name is global to the persistence unit (across all generator types).
我们的类结构由一个 BaseEntity 和定义了 @GenericGenerator 的子类组成,所有生成器都使用相同的名称。
@MappedSuperclass
public class BaseEntity {
@Id
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="idGenerator")
private Long id;
}
@Entity
@Table(name = "SAMPLE_TABLE")
@GenericGenerator(strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator", name = "idGenerator", parameters = {
@Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "SAMPLE_SEQ") })
public class SampleEntity extends BaseEntity
是否可以在不在每个类中放置 id 字段的情况下更正此生成器定义?
最佳答案
这对我们在 Hibernate 5.2.1 和 postgres 上有效:
import org.hibernate.annotations.GenericGenerator
import org.hibernate.annotations.Parameter
import org.hibernate.id.enhanced.SequenceStyleGenerator
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id
import javax.persistence.MappedSuperclass
@MappedSuperclass
abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@GenericGenerator(name = "sequenceGenerator", strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = [
Parameter(name = SequenceStyleGenerator.CONFIG_PREFER_SEQUENCE_PER_ENTITY, value = "true"),
Parameter(name = SequenceStyleGenerator.OPT_PARAM, value = "pooled"),
Parameter(name = SequenceStyleGenerator.INITIAL_PARAM, value = "1"),
Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "50")
]
)
var id: Long? = null
}
代码在 kotlin 中,但您可以轻松地将其转换为 java。
如果您需要有关 SequenceStyleGenerator 的更多信息,请参阅 docs
关于java - MappedSuperclass - 子类中的 SequenceGenerator (hibernate 5.2.13.Final),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748981/
我有两个使用生成值的实体类 @Entity @SequenceGenerator(allocationSize = 1, initialValue = 1000, name = "idgen") pu
我使用 SequenceGenerator 和 generatedValue 以及序列“seq_user_hierarchy”在 ID 字段中执行“select nextval('NAME_OF_SE
我在我的oracle数据库中添加了序列和触发器,然后我从数据库创建了实体类,但它并没有在实体类中创建@sequencegenerator。我将 netbeans 与 glassfish 服务器和 ec
今天我的行为很奇怪。我已经声明了一个带有使用 @SequenceGenerator 的主键的模型: @SequenceGenerator(name="EMP_SEQ_GEN", sequenceNam
我的应用程序已将 JPA 与 Hibernate 供应商和 Oracle 11G DB 一起使用。 在这里,我在我的 MST_EMP 表上使用 native 查询,如下所示。 Query quer
我想知道如何为 JPA 创建我自己的自定义 ID 生成器。我不想只创建一个数字增量器生成器,而是创建一个区分大小写的字母数字生成器,类似于 URL 缩短器跟踪站点的方式。 例如,URL 缩短器不使用数
我想利用 SequenceGenerator 并从序列生成器中获取下一个值。我想避免前往数据库并依靠序列生成器为我提供唯一值。此外,我使用该值在显示字段中显示唯一 ID,而不保留对象。 最佳答案 它适
我有以下代码: @Entity @Table(name = "my_table", schema = "my_schema") @SequenceGenerator(name = "my_table_
javadoc 说 A unique generator name that can be referenced by one or more classes to be the generator
是否可以在 Hibernate 实体类中使用 2 个序列生成器。我想在我的情况下使用两个序列生成器,一个用于主键,另一个用于简单字段。我怎样才能达到同样的效果? @Data @Table(name="
我已经编写了自己的 IdGenerator: public class AkteIdGenerator implements IdentifierGenerator { public Seria
我将 JPA2 与 Hibernate 一起使用,并尝试为我的实体引入一个公共(public)基类。到目前为止,它看起来像这样: @MappedSuperclass public abstract c
我正在学习 JPA,但对 @SequenceGenerator 感到困惑注释。 据我了解,它会自动为实体的数字身份字段/属性分配一个值。 Q1.这个序列生成器是利用数据库不断增加的数值生成能力还是自己
我对 @SequenceGenerator 有疑问: @SequenceGenerator(name="pk_user_id", sequenceName="seq_user_id", allocat
我尝试使用内存中的 H2 DB 来测试某些实体的持久性,但我认识到 @SequenceGenerator 永远不会按应有的方式被调用,无论是在构建平台运行时还是在在 Eclipse 中使用 RunAs
有一个 oracle 用户,其中一些对象在其他用户之间是通用的。因此,application.yml 如下所示: jpa: hibernate: ddl-auto: updat
我实际上正在尝试学习 JPA,但我在使用@SequenceGenerator 时遇到了一些麻烦。 我将 derby 嵌入式数据库与 EclipseLink 一起使用,我正在尝试将 SequenceGe
我正在 Oracle DB 中插入一些记录。为了独特性,我使用 SequenceGenerator。下面是代码: public class XxspPoInLineLocqty implements
我正在尝试使用 PostgreSQL 的 IDENTITY 策略设置序列的分配大小和初始值。这不会产生我预期的 SQL,但是将策略更改为 SEQUENCE 是可行的。这是故意的吗? id: i
我有一个实体,它有一个 ID 字段: @Id @Column(name = "`U##ID_VOIE`") @GeneratedValue(generator = "VOIE_SEQ") privat
我是一名优秀的程序员,十分优秀!