Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Mapeamento Hibernate Property Access e Field Access

$
0
0

@trickstival escreveu:

Oi pessoal, estou com um problema com o hibernate. Estou criando uma aplicação no JavaFX, e utilizando o hibernate pra mapear as minhas classes de entidade.

O problema é que o Hibernate não identifica os tipos que eu estou usando na hora de persistir os objetos no banco de dados, já que determinei os tipos como StringProperty e IntegerProperty no lugar de String e Integer. Pra consertar esse erro, coloquei as anotações das propriedades da minha classe nos getters, pra eu poder fazer a conversão dos tipos (StringProperty para String e IntegerProperty pra Integer), ficando assim o mapeamento:

@Entity
@Table(name = "tbArquivo")
public class Arquivo {

	@Transient
	private IntegerProperty idArquivo = new SimpleIntegerProperty();
	@Transient
	private StringProperty nomeArquivo = new SimpleStringProperty();
	@Transient
	private StringProperty localidadeExterna = new SimpleStringProperty();
	@Transient
	private StringProperty generoMusical = new SimpleStringProperty();

	@OneToOne(mappedBy = "arquivo")
	private Artista artista;

	public Arquivo() {

	}

	public Arquivo(String nomeArquivo, String localidadeExterna, String generoMusical) {
		super();
		this.nomeArquivo.set(nomeArquivo);
		this.localidadeExterna.set(localidadeExterna);
		this.generoMusical.set(generoMusical);
	}

	@Override
	public String toString() {
		return "Arquivo [nomeArquivo=" + nomeArquivo + ", localidadeExterna=" + localidadeExterna + ", generoMusical="
				+ generoMusical + "]";
	}

	public IntegerProperty idArquivoProperty() {
		return this.idArquivo;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public int getIdArquivo() {
		return this.idArquivoProperty().get();
	}

	public void setIdArquivo(final int idArquivo) {
		this.idArquivoProperty().set(idArquivo);
	}

	public StringProperty nomeArquivoProperty() {
		return this.nomeArquivo;
	}

	@Column(name = "nomeArquivo")
	public String getNomeArquivo() {
		return this.nomeArquivoProperty().get();
	}

	public void setNomeArquivo(final String nomeArquivo) {
		this.nomeArquivoProperty().set(nomeArquivo);
	}

	public StringProperty localidadeExternaProperty() {
		return this.localidadeExterna;
	}

	@Column(name = "localidadeExterna")
	public String getLocalidadeExterna() {
		return this.localidadeExternaProperty().get();
	}

	public void setLocalidadeExterna(final String localidadeExterna) {
		this.localidadeExternaProperty().set(localidadeExterna);
	}

	public StringProperty generoMusicalProperty() {
		return this.generoMusical;
	}

	@Column(name = "generoMusical")
	public String getGeneroMusical() {
		return this.generoMusicalProperty().get();
	}

	public void setGeneroMusical(final String generoMusical) {
		this.generoMusicalProperty().set(generoMusical);
	}

}

Até aí tudo bem, estava conseguindo persistir normalmente para o banco, mas o problema surgiu quando eu precisei criar um Query que retornava uma lista de registros específicos, e precisava acessar os atributos da classe via JPQL.
O método que faz esse acesso é esse:

package pacoteDAO;

import java.util.List;

import javax.persistence.TypedQuery;

import pacote.Artista;





	public List<String> retornaLocalidadesInternas(int idArquivo) {
		TypedQuery<String> tq = EntityManagerUtil.getEntityManager().createQuery(
				"SELECT DISTINCT a.localidadeInterna FROM Artista a JOIN a.arquivo WHERE ar.idArquivo = :id",
				String.class);
		tq.setParameter("id", idArquivo);
		return tq.getResultList();
	}

Quando executei o código, gerou uma Exception com a seguinte mensagem:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'ar.idArquivo' [SELECT DISTINCT a.localidadeInterna FROM pacote.Artista a JOIN a.arquivo WHERE ar.idArquivo = :id]

No final das contas, minha dúvida é a seguinte: Como eu faço pra acessar o getter da minha classe pela Query do JPA?

Mensagens: 3

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


OFW quotes : Pinoy Tagalog Quotes


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


Best Crush Tagalog Quotes And Sayings 2017


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.


Tagalog Love Quotes – Nagmamahal


Sapos para colorear


Tagalog Quotes About Crush – Tagalog Love Quotes


Patama Quotes : Tagalog Inspirational Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Long distances monthsary message tagalog


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Pokemon para colorear



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>