package br.com.alura.exemplos01.model;
import java.math.BigDecimal;
import javax.persistence.Embeddable;
import br.com.alura.exemplos01.model.enuns.TipoPreco;
@Embeddable// está dizendo para colocar dentro da tabela incorporada compoe uma entidade
public class Preco {
private BigDecimal valor;
private TipoPreco tipo;
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
public TipoPreco getTipo() {
return tipo;
}
public void setTipo(TipoPreco tipo) {
this.tipo = tipo;
}
@Entity public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int ID;
private String titulo;
@ElementCollection
private ArrayList<Preco> precos;
private int pagina;
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public ArrayList<Preco> getPrecos() {
return precos;
}
public void setPrecos(ArrayList<Preco> precos) {
this.precos = precos;
}
private String descricao;
public Produto() {}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public int getPagina() {
return pagina;
}
public void setPagina(int pagina) {
this.pagina = pagina;
}
@Override
public String toString() {
return "Produto [titulo=" + titulo + ", descricao=" + descricao + ", pagina=" + pagina + "]";
}
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Servlet.init() for servlet dispatcher threw exception
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
Root Cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class br.com.alura.exemplo01.conf.JPAConfiguration: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1568)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
}