- 52
- 0
- CPU
- AMD Athlon64 X2 500+
- Scheda Madre
- Asus M3A32-MVP Deluxe WiFi Edition
- HDD
- Western Digital Raptor 150GB 10.000rpm
- RAM
- Corsair Dominator 4x2GB 1066GHz
- GPU
- Sapphire ATi Radeon HD3870
- Audio
- Creative Sound Blaster Audigy SE
- Monitor
- Samsung SyncMaster 931BW
- PSU
- Corsair Tx750w 750W
- Case
- CoolerMaster Centurion 5
- OS
- Windows 7 64bit
salve a tutti...sto usando Hibernate (versione 3.2) per un progetto, sto cercando di mappare il database ma ho un paio di problemi...le tabelle che stò cercando di mappare sono le seguenti:
il javabean per la tabella Lavoro:
Il bean cessione:
Infine il bean cliente:
Mentre i file xml per il mapping sono:
Lavoro:
cessione:
Cliente:
L'errore che mi esce, invece, è il seguente:
Non riesco a capire dove è l'errore!!!...c'è per caso qualche errore nei beans?
PHP:
______________ __________
| | | | ___________
| CESSIONE | | LAVORO | | |
|______________| |__________| | CLIENTE |
| | (1,1) | | |___________|
| *IdLavoro | <---> | *Id | (1,1) | |
| Descrizione | | Cliente | <---> | *Id |
|______________| |__________| | Nome |
|___________|
il javabean per la tabella Lavoro:
Codice:
package beans;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
public class Lavoro {
private int id;
private Date data;
private Set cliente = new HashSet();
public Lavoro(){
super();
}
//Metodi getter
public int getId(){
return id;
}
public Date getData(){
return data;
}
public Set getCliente(){
return cliente;
}
//Metodi setter
public void setId(int id){
this.id = id;
}
public void setData(Date data){
this.data = data;
}
public void setCliente(Set cliente){
this.cliente = cliente;
}
}
Codice:
package beans;
public class Cessione extends Lavoro{
private int idLavoro;
private String descrizione;
public Cessione(){
super();
}
//Metodi getter
public int getIdLavoro(){
return super.getId();
}
public String getDescrizione(){
return descrizione;
}
//Metodi setter
public void setIdLavoro(int idLavoro){
super.setId(idLavoro);
}
public void setDescrizione(String descrizione){
this.descrizione = descrizione;
}
}
Codice:
package beans;
public class Cliente {
private int id;
private String nome;
public Cliente(){
super();
}
//Metodi getter
public int getId(){
return id;
}
public String getNome(){
return nome;
}
//Metodi setter
public void setId(int id){
this.id = id;
}
public void setNome(String nome){
this.nome = nome;
}
}
Lavoro:
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Lavoro" table="lavoro">
<id name="id" column="id">
<generator class="identity"/>
</id>
<one-to-one name="cliente" class="beans.Cliente"/>
</class>
</hibernate-mapping>
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Cessione" table="cessione">
<id name="idLavoro" column="idLavoro">
<generator class="foreign">
<param name="property">idLavoro</param>
</generator>
</id>
<one-to-one name="idLavoro" class="beans.Lavoro" foreign-key="id" constrained="true"/>
<property name="descrizione"/>
</class>
</hibernate-mapping>
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Cliente" table="cliente">
<id name="id" column="id">
<generator class="identity"/>
</id>
<property name="nome"/>
</class>
</hibernate-mapping>
Codice:
java.lang.ClassCastException: org.hibernate.type.IntegerType cannot be cast to org.hibernate.type.EntityType
org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:50)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
$Proxy0.save(Unknown Source)
test.CessioneTest.doGet(CessioneTest.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)