Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] No imprime en consola el commit.

En la línea de consola donde debería imprimirse los datos insertados a la tabla no aparece nada.

INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect abr. 19, 2023 1:29:15 A. M. org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@f1d0004] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. abr. 19, 2023 1:29:15 A. M. org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]

TRANSCRIBO EL CÓDIGO:

persitance.xml

br.com.alura.loja.modelo.Produto

Clase Producto package com.arg.tienda.modelo;

import java.math.BigDecimal;

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

@Entity //@Table(name="productos") public class Producto{ @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id;

private String nombre;
private String descripcion;
private BigDecimal precio;

public Long getId() {return id;}

public void setId(Long id) {this.id = id;}

public String getNombre() {return nombre;}

public void setNombre(String nombre) {this.nombre = nombre;}

public String getDescripcion() {return descripcion;}

public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
}

public BigDecimal getPrecio() {return precio;}

public void setPrecio(BigDecimal precio) {this.precio = precio;}

}

Clase Prueba Main RegistroDeProducto package com.arg.tienda.prueba;

import java.math.BigDecimal;

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;

import com.arg.tienda.modelo.Producto;

public class RegistroDeProducto {

public static void main(String[] args) {

    Producto celular = new Producto();
    celular.setNombre("Xiaomi Redmi");
    celular.setDescripcion("Producto usado");
    celular.setPrecio(new BigDecimal("800"));

    EntityManagerFactory factory = Persistence.
            createEntityManagerFactory("tienda");

    EntityManager em = factory.createEntityManager();
    em.getTransaction().begin();
    em.persist(celular);
    em.getTransaction().commit();
    em.close();
}

}

1 respuesta

¡Hola Ivan!

En tu código, no veo ningún problema que pudiera estar causando que no se impriman los datos insertados en la tabla en la línea de consola. Sin embargo, puede haber un problema con la configuración de tu registro de Hibernate.

Te sugiero que verifiques si has configurado correctamente el registro de Hibernate en tu proyecto. Asegúrate de que la configuración de registro esté habilitada y que el nivel de registro sea lo suficientemente alto para que se muestren los mensajes de registro de Hibernate en la consola.

Si esto no soluciona tu problema, intenta depurar tu código para ver si hay algún problema con la ejecución del código. También puedes intentar agregar algunas declaraciones System.out.println() en tu código para ver si se están ejecutando correctamente.

Espero que esto te ayude a solucionar tu problema. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios