No sé si hay algo mal con el código, pero no me muestra ni errores, ni siquiera los sysout que le puse antes, simplemente muestra lo de las imágenes, esto solo me pasa en la versión Enterprise de Eclipse como se pidió, así mismo, tampoco pude ejecutarlo en la versión Java for Devs, porque al buscar los archivos dentro de la carpeta del workspace, no se encuentra ninguno, sólo aparecen en el explorador de Enterprise, ni siquiera de JavaxDevs, ¿alguna explicación o respuesta para esto? Ando trabado por eso, ya que no me muestra nada...
RegistroDeProducto.java:
package com.latam.alura.tienda.prueba;
import java.math.BigDecimal;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.latam.alura.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();
}
}
Producto.java:
package com.latam.alura.tienda.modelo;
import java.math.BigDecimal;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="productos")
public class Producto{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
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;}
}
persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="tienda" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:tienda"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.latam.alura.tienda</groupId>
<artifactId>tienda</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.6.14.Final</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
</dependencies>
</project>