Problemas com ECLIPSE + HIBERNATE + POSTGRESQL

aew pessoal, estou tendo problemas com hibernate e postgresql…
fiz um treinamento onde usamos o mysql como banco. Porem agora estou tentando usar o PostgreSql para uma aplicação minha… mas como nao obtive sucesso experimentei pegar o exemplo que fizemos no treinamento (que esta funcionando) e só mudei o banco de dados para Postgresql… e adivinhem? Não funcionou. Ele inicia e tudo mais, mas não faz nada quando clico no botao de salvar, q era para inserir um aluno no banco.

Sou iniciante ainda… não sei se precisa de alguma configuração/codigo a mais quando se trata do Postgre…
Qual ajuda seria muito bem vinda e agradecida!

O código:

  • Aluno.java
@Entity
@Table(name="aluno", schema="public")
public class Aluno implements Serializable { 


	private static final long serialVersionUID = -7437910344764284313L;
	
	private Integer cdAluno;
	private String nmAluno;
	private Date dtNascimento;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="cd_aluno", unique=true, nullable=false)
	public Integer getCdAluno() {
		
		return cdAluno;
	}
	public void setCdAluno(Integer cdAluno) {
		this.cdAluno = cdAluno;
	}
	
	@Column(name="nm_aluno", length=120)
	public String getNmAluno() {
		return nmAluno;
	}
	public void setNmAluno(String nmAluno) {
		this.nmAluno = nmAluno;
	}
	
	@Temporal(TemporalType.TIMESTAMP) //data e hora
	@Column(name="dt_nascimento")
	public Date getDtNascimento() {
		return dtNascimento;
	}
	public void setDtNascimento(Date dtNascimento) {
		this.dtNascimento = dtNascimento;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	//****** codigo hashCode() ******/
	
}

Classe abstrata

[code]
public abstract class AbstractBean {

@ManagedProperty(value="#{entityManagerBuilder.entityManager}") 
private EntityManager entityManager;

private List<T> lista;
private T selecionado;

public abstract String getEntityName();
public abstract Object getId();
public abstract T createNewEntity();

public void salvar(){
	getEntityManager().getTransaction().begin();
	
	if(getId() == null){
		getEntityManager().persist(selecionado);
	}
	else{
		getEntityManager().merge(selecionado);
	}
	
	getEntityManager().getTransaction().commit();
	
	selecionado = null;
	refreshList();
}

public void refreshList(){
	
	lista = getEntityManager().createQuery("from " + getEntityName()).getResultList(); //JBQL - HQL
		
}

public void excluir(T entity){
	getEntityManager().getTransaction().begin();
	getEntityManager().remove(entity);
	getEntityManager().getTransaction().commit();
	
	selecionado = null;
	refreshList();
}


public List<T> getLista() {
	if(lista == null){
		refreshList();
	}
	return lista;
}

public void setLista(List<T> lista) {
	this.lista = lista;
}

public T getSelecionado() {
	if(selecionado == null){
		selecionado = createNewEntity();
	}
	return selecionado;
}

public void setSelecionado(T selecionado) {
	this.selecionado = selecionado;
}

public EntityManager getEntityManager() {
	return entityManager;
}

public void setEntityManager(EntityManager entityManager) {
	this.entityManager = entityManager;
}

}[/code]

Classe AlunoBean.java

[code]
@ManagedBean
@ViewScoped
public class AlunoBean extends AbstractBean {

@Override
public String getEntityName() {
	return "Aluno";
}

@Override
public Object getId() {
	return getSelecionado().getCdAluno();
}

@Override
public Aluno createNewEntity() {
	return new Aluno();
}

}[/code]

e o meu persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 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_2_0.xsd">
	<persistence-unit name="EscolaModel" transaction-type="RESOURCE_LOCAL">
		<non-jta-data-source>java:jboss/postgresDS</non-jta-data-source>
		
		<class>br.com.veere.escola.model.Aluno</class>
		

		<properties>
			<property name="hibernate.show_sql" value="true"/>
			<property name="hibernate.format_sql" value="true"/>
		</properties>
	</persistence-unit>
</persistence>

Aluno.xhtml

[code]

		<h:outputLabel value="Nome: " for="nome" />
		<p:inputText value="#{alunoBean.selecionado.nmAluno}" id="nome" />
		
		<h:outputLabel value="Data Nascimento: " for="nascimento" />
		<p:calendar value="#{alunoBean.selecionado.dtNascimento}" id="nascimento" navigator="true" />
		
		<p:commandButton value="Salvar" update="@form" action="#{alunoBean.salvar()}" />
		<p:commandButton value="Atualizar" update="@form" action="#{alunoBean.refreshList()}" />
	
	</h:panelGrid>
</p:panel>

<p:dataTable value="#{alunoBean.lista}" var="aluno">
	<p:column>
		<p:commandLink action="#{alunoBean.setSelecionado(aluno)}" update="@form" value="Editar" />
		<p:commandLink action="#{alunoBean.excluir(aluno)}" update="@form" value="Excluir" />
		
	</p:column>
	<p:column headerText="Código">
		#{aluno.cdAluno}	
	</p:column>
	<p:column headerText="Nome">
		#{aluno.nmAluno}	
	</p:column>
	<p:column headerText="Data Nascimento">
		<h:outputText value="#{aluno.dtNascimento}">
			<f:convertDateTime locale="pt_BR" type="date"/>
		</h:outputText>
	</p:column>
</p:dataTable>
</h:form>
[/code]

Faltou colocar a sua conexão com o BD, tu criou o persistence mas não colocou o cfg aqui tb

desculpe… aonde isso?

To começando ainda… aonde fica o cfg, ou onde crio??

Obrigadoo pela atenção!!

este link vai te ajudar, a única diferença é que você vai alterar o dialeto para postgres

blza… vo tentar aqui, depois posto o resultado!!

Obrigado mais uma vez!

só uma dúvida… seguindo o exemplo do link

no persistence.xml

<persistence-unit name="lojavirtualDB">
o name tem que ser obrigatoriamente o nome do banco?
e na propriedade dialect…

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

para mudar para Postgre, tem algum padrao??
ou posso colocar algo como: value=“org.hibernate.dialect.PostgreSQLDialect”

?

Obrigado!