Generación de claves primarias personalizadas de Hibernate

Referencia: https://www.cnblogs.com/xmqa/p/6424386.html

Hibernate personaliza la estrategia de generación de clave principal y se refiere a la estrategia de generación de clave principal escrita por sí mismo.

Nota: la estrategia de generación de clave principal se implementa escribiendo una función usted mismo

Al usar Hibernate para definir pojo, a veces es necesario generar una cierta clave principal de tabla de datos regular.En este momento, podemos usar el método de generación de clave principal personalizado para generar la clave principal.

Por ejemplo:

1. Defina la clave principal de la tabla de datos en el atributo pojo

@Id
@GenericGenerator(name = "xmqId", strategy = "com.xmq.core.XMQGenerator")  //定义一个主键生成器,并给该生成器命名,该生成器指定策略为一个类
@GeneratedValue(generator = "xmqId")  //通过名称引用我们自定义的那个主键生成器
@Column(name = "C_ID")
private String pk;

2. Crea un generador de claves primarias

package com.xmq.core;

import java.io.Serializable;

import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.id.UUIDHexGenerator;

public class XMQGenerator extends UUIDHexGenerator {

    public XMQGenerator () {
        super();
    }

    @Override
    public Serializable generate(SessionImplementor session, Object obj) {
        return "PK_" + super.generate(session, obj);
    }


}

Nota: @MappedSuperclass a veces se anota en la clase principal de pojo, lo que significa que la clase principal no es una clase de entidad completa y no se asignará a una tabla de base de datos, pero sus atributos se asignarán a la tabla de datos de su campo de subclases .

Supongo que te gusta

Origin blog.csdn.net/banzhengyu/article/details/122248641
Recomendado
Clasificación