Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2010, 12:08   #1
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
[J2EE Hibernate] Problema con jar ElementCollection

Ciao, sto impazzendo con 1 progetto Hibernate 3 (annotations) su Eclipse.
Il problema è quando cerco di fare un mapping di join tra 3 tabelle, esempio:
- tabella user: username.
- tabella user_azione: username, id azione, quantità.
- tabella azione: id azione.
Per il join mi serve l'annotation @ElementCollection, per la quale ho messo il jar hibernate-jpa-2.0-api-1.0.0.Final.jar.
Problema: se faccio il tutto senza application server, quindi chiamo le operazioni dao da metodo main, tutto funziona.
Se attacco jboss, mi dà errori sul classnotfound della classe user (mappata sulla tabella user). Il tutto dipende da quel jar, se lo cancello e stacco quel mapping, il resto funziona. Versioni incompatibili con quelle di hibernate poste sotto JBoss 5?
Non so davvero cosa guardare, è 1 settimana che sto messo così...mi date 1 suggerimento?
Grazie...
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 15:25   #2
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da carter100 Guarda i messaggi
Ciao, sto impazzendo con 1 progetto Hibernate 3 (annotations) su Eclipse.
Il problema è quando cerco di fare un mapping di join tra 3 tabelle, esempio:
- tabella user: username.
- tabella user_azione: username, id azione, quantità.
- tabella azione: id azione.
Per il join mi serve l'annotation @ElementCollection, per la quale ho messo il jar hibernate-jpa-2.0-api-1.0.0.Final.jar.
Problema: se faccio il tutto senza application server, quindi chiamo le operazioni dao da metodo main, tutto funziona.
Se attacco jboss, mi dà errori sul classnotfound della classe user (mappata sulla tabella user). Il tutto dipende da quel jar, se lo cancello e stacco quel mapping, il resto funziona. Versioni incompatibili con quelle di hibernate poste sotto JBoss 5?
Non so davvero cosa guardare, è 1 settimana che sto messo così...mi date 1 suggerimento?
Grazie...
Ciao, te lo chiedo da ignorante, come mai usi @ElementCollection? Io di solito per fare quello che devi fare mi creo i miei tre bei POJO dove in uno, user_azione appunto, metto i riferimenti agli altri due.

Ma io è poco che uso hibernate quindi prendi la mia solo come una domanda.

Ultima modifica di MEMon : 13-11-2010 alle 15:27.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 18:23   #3
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da MEMon Guarda i messaggi
Ciao, te lo chiedo da ignorante, come mai usi @ElementCollection? Io di solito per fare quello che devi fare mi creo i miei tre bei POJO dove in uno, user_azione appunto, metto i riferimenti agli altri due.

Ma io è poco che uso hibernate quindi prendi la mia solo come una domanda.
Non c'è problema.
Ti posto il mapping, magari ti viene utile:
Su classe User:
Codice:
	@ElementCollection
	@JoinTable(
	    name = "user_azione",
	    joinColumns = @JoinColumn (name = "USERNAME")
	)
	private List<SharesHeld> shares = new ArrayList<SharesHeld>();
Su classe SharesHeld:
Codice:
    @ManyToOne
    @JoinColumn(name = "ID",
                nullable = false,
                updatable = false)
	private Azione azione;

       @Column (name="AMOUNT")
	private int amount;
La classe Azione invece ha i semplici id e proprietà semplici.
Uso questo mapping perchè...boh...è l'unico che ho trovato per avere una tabella di join con colonne aggiuntive (la tabella userAzione ha i riferimenti di utente ed azione ed il campo amount).
Mi spieghi meglio il tuo metodo, se fa ciò che mi serve?
Perchè mi sto scocciando di questo problema, probabilmente JBoss ha qualche libreria di hibernate incompatibile con la mia hibernate-jpa, però non so nemmeno come fare a capire che versione prendere...suggerimenti?
Grazie!
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 13:21   #4
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Ho risolto.
Il problema era alquanto banale, anche se complicato da trovare.
Al posto di usare @ElementCollection, appartenente a jar esterni a jboss e che quindi creava quei problemi, ho usato l'annotation @CollectionOfElements, che dovrebbe fare la stessa cosa.

Adesso in esecuzione non ci sono errori inventati sul mapping errato delle classi, e l'inserimento avviene con successo

Grazie lo stesso!
carter100 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:34.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v