Olás,
Eu estou tentando fazer os exercícios do curso descritos na apostila do curso da Caelun (FJ-31), só que eu estou usando o HSQLDB. Porém encontro problemas.
A minha aplicação é o fj31-loja-standalone onde a apostila diz para importar os jars do JBoss, escrecer o persistence.xml e colocar este xml no diretório src/META-INF.
Fiz tudo isso… mas quando rodo a minha aplicação, a tabela não é feita.
Segue o meu persistence.xml e a minha entity.
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="loja">
<class>br.com.caelum.loja.entity.Livro</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
<property name="hibernate.connection.url" value="jdbc:hsqldb:file:/workspace/fj31-loja-jpa-standalone/banco"/>
<property name="hibernate.connection.username" value="sa"/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.hbm2dll.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
package br.com.caelum.loja.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Livro implements Serializable
{
/**
*
*/
private static final long serialVersionUID = 302344134554808174L;
@Id
@GeneratedValue
private Long id;
private String nome;
private double preco;
@Temporal(TemporalType.TIMESTAMP)
private Date dataAlteracao;
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
/**
* @return the dataAlteracao
*/
public Date getDataAlteracao() {
return dataAlteracao;
}
/**
* @param dataAlteracao the dataAlteracao to set
*/
public void setDataAlteracao(Date dataAlteracao) {
this.dataAlteracao = dataAlteracao;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString()
{
StringBuffer buff = new StringBuffer();
buff.append("nome: ");
buff.append(nome);
buff.append(", preco: ");
buff.append(preco);
return buff.toString();
}
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
@PrePersist
@PreUpdate
public void preAltera()
{
System.out.println("CALLBACK preAltera(): atualizando data automaticamente");
this.dataAlteracao = new Date();
}
}