Hi friends I hava a problem to map a inner class
this is my pojo
Code:
package pojo;
import java.io.Serializable;
public class FinancementPojo implements Serializable, InterfacePojo {
[b]public static class IdFinancement implements Serializable {
private static final long serialVersionUID = 7471694153145514198L;
private String finControlNumber;
private String finType;
private String finPolicy;
private String finControlClaimDesc;
public IdFinancement(String finControlNumber, String finType, String finPolicy, String finControlClaimDesc) {
this.finControlNumber = finControlNumber;
this.finType = finType;
this.finPolicy = finPolicy;
this.finControlClaimDesc = finControlClaimDesc;
}
public IdFinancement() {
}
public String getFinControlClaimDesc() {
return finControlClaimDesc;
}
public void setFinControlClaimDesc(String finControlClaimDesc) {
this.finControlClaimDesc = finControlClaimDesc;
}
public String getFinControlNumber() {
return finControlNumber;
}
public void setFinControlNumber(String finControlNumber) {
this.finControlNumber = finControlNumber;
}
public String getFinPolicy() {
return finPolicy;
}
public void setFinPolicy(String finPolicy) {
this.finPolicy = finPolicy;
}
public String getFinType() {
return finType;
}
public void setFinType(String finType) {
this.finType = finType;
}
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((finControlClaimDesc == null) ? 0 : finControlClaimDesc.hashCode());
result = PRIME * result + ((finControlNumber == null) ? 0 : finControlNumber.hashCode());
result = PRIME * result + ((finPolicy == null) ? 0 : finPolicy.hashCode());
result = PRIME * result + ((finType == null) ? 0 : finType.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final IdFinancement other = (IdFinancement) obj;
if (finControlClaimDesc == null) {
if (other.finControlClaimDesc != null)
return false;
} else if (!finControlClaimDesc.equals(other.finControlClaimDesc))
return false;
if (finControlNumber == null) {
if (other.finControlNumber != null)
return false;
} else if (!finControlNumber.equals(other.finControlNumber))
return false;
if (finPolicy == null) {
if (other.finPolicy != null)
return false;
} else if (!finPolicy.equals(other.finPolicy))
return false;
if (finType == null) {
if (other.finType != null)
return false;
} else if (!finType.equals(other.finType))
return false;
return true;
}
}[/b]
private static final long serialVersionUID = -4193363182767915742L;
private IdFinancement id;
private String finPolicy;
private String finControlNumber;
private String finControlClaimDesc;
private String finType;
private Integer finNbrLignes;
private Integer finNbrJoursh;
private Integer finNbrJoursm;
/* [CONSTRUCTOR MARKER BEGIN] */
public FinancementPojo() {
super();
}
/**
* Constructor for primary key
*/
public FinancementPojo(String finPolicy,
String finControlNumber,
String finControlClaimDesc, String finType) {
this.finPolicy = finPolicy;
this.finControlNumber = finControlNumber;
this.finControlClaimDesc = finControlClaimDesc;
this.finType = finType;
}
/**
* Constructor for required fields
*/
public FinancementPojo(String finPolicy,
String finControlNumber,
String finControlClaimDesc, String finType,
Integer finNbrLignes, Integer finNbrJoursh,
Integer finNbrJoursm) {
this.finPolicy = finPolicy;
this.finControlNumber = finControlNumber;
this.finControlClaimDesc = finControlClaimDesc;
this.finType = finType;
this.finNbrLignes = finNbrLignes;
this.finNbrJoursh = finNbrJoursh;
this.finNbrJoursm = finNbrJoursm;
}
/**
* @return finControlClaimDesc
*/
public String getFinControlClaimDesc() {
return finControlClaimDesc;
}
/**
* @param finControlClaimDesc
* finControlClaimDesc à définir
*/
public void setFinControlClaimDesc(String finControlClaimDesc) {
this.finControlClaimDesc = finControlClaimDesc;
}
/**
* @return finControlNumber
*/
public String getFinControlNumber() {
return finControlNumber;
}
/**
* @param finControlNumber
* finControlNumber à définir
*/
public void setFinControlNumber(String finControlNumber) {
this.finControlNumber = finControlNumber;
}
/**
* @return finNbrJoursh
*/
public Integer getFinNbrJoursh() {
return finNbrJoursh;
}
/**
* @param finNbrJoursh
* finNbrJoursh à définir
*/
public void setFinNbrJoursh(Integer finNbrJoursh) {
this.finNbrJoursh = finNbrJoursh;
}
/**
* @return finNbrJoursm
*/
public Integer getFinNbrJoursm() {
return finNbrJoursm;
}
/**
* @param finNbrJoursm
* finNbrJoursm à définir
*/
public void setFinNbrJoursm(Integer finNbrJoursm) {
this.finNbrJoursm = finNbrJoursm;
}
/**
* @return finNbrLignes
*/
public Integer getFinNbrLignes() {
return finNbrLignes;
}
/**
* @param finNbrLignes
* finNbrLignes à définir
*/
public void setFinNbrLignes(Integer finNbrLignes) {
this.finNbrLignes = finNbrLignes;
}
/**
* @return finPolicy
*/
public String getFinPolicy() {
return finPolicy;
}
/**
* @param finPolicy
* finPolicy à définir
*/
public void setFinPolicy(String finPolicy) {
this.finPolicy = finPolicy;
}
/**
* @return finType
*/
public String getFinType() {
return finType;
}
/**
* @param finType
* finType à définir
*/
public void setFinType(String finType) {
this.finType = finType;
}
public InterfacePojo getID() {
// TODO Raccord de méthode auto-généré
return null;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME
* result
+ ((finControlClaimDesc == null) ? 0 : finControlClaimDesc
.hashCode());
result = PRIME
* result
+ ((finControlNumber == null) ? 0 : finControlNumber.hashCode());
result = PRIME * result
+ ((finPolicy == null) ? 0 : finPolicy.hashCode());
result = PRIME * result + ((finType == null) ? 0 : finType.hashCode());
return result;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final FinancementPojo other = (FinancementPojo) obj;
if (finControlClaimDesc == null) {
if (other.finControlClaimDesc != null)
return false;
} else if (!finControlClaimDesc.equals(other.finControlClaimDesc))
return false;
if (finControlNumber == null) {
if (other.finControlNumber != null)
return false;
} else if (!finControlNumber.equals(other.finControlNumber))
return false;
if (finPolicy == null) {
if (other.finPolicy != null)
return false;
} else if (!finPolicy.equals(other.finPolicy))
return false;
if (finType == null) {
if (other.finType != null)
return false;
} else if (!finType.equals(other.finType))
return false;
return true;
}
public IdFinancement getId() {
return id;
}
public void setId() {
IdFinancement id =new IdFinancement(finControlNumber,finType,finPolicy,finControlClaimDesc);
this.setId(id);
}
public void setId(IdFinancement id) {
this.id = id;
}
}
my hbm
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="pojo">
<class
name="FinancementPojo"
table="FINANCEMENT"
>
[b]<composite-id name="id" class="pojo.FinancementPojo$IdFinancement">
<key-property
name="finControlNumber"
column="FIN_CONTROL_NUMBER"
type="string"
length="10"
/>
<key-property
name="finType"
column="FIN_TYPE"
type="string"
length="2"
/>
<key-property
name="finPolicy"
column="FIN_POLICY"
type="string"
length="10"
/>
<key-property
name="finControlClaimDesc"
column="FIN_CONTROL_CLAIM_DESC"
type="string"
length="2"
/>
</composite-id>[/b]
<property
name="finNbrJoursh"
column="FIN_NBR_JOURSH"
type="integer"
not-null="true"
length="5"
/>
<property
name="finNbrLignes"
column="FIN_NBR_LIGNES"
type="integer"
not-null="true"
length="5"
/>
<property
name="finNbrJoursm"
column="FIN_NBR_JOURSM"
type="integer"
not-null="true"
length="5"
/>
</class>
</hibernate-mapping>
and this erreur
Quote:
18:28:52,165 ERROR ServiceException:16 - Unknown entity: pojo.FinancementPojo$IdFinancement
org.hibernate.MappingException: Unknown entity: pojo.FinancementPojo$IdFinancement
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:842)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:835)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
at $Proxy0.get(Unknown Source)
at ca.canassistance.dao.BaseRootDAO.get(BaseRootDAO.java:219)
at ca.canassistance.service.PPO_NTrairePersistance.existFinancement(PPO_NTrairePersistance.java:443)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.verifierFinancementExistFinancement(MettreaJourXc4dsavXc4dtavPpo210.java:407)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.validerEtatFinancement(MettreaJourXc4dsavXc4dtavPpo210.java:384)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.verifierSiVersionPlusRecente(MettreaJourXc4dsavXc4dtavPpo210.java:358)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.finaliserTraitementPrecedent(MettreaJourXc4dsavXc4dtavPpo210.java:346)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.<init>(MettreaJourXc4dsavXc4dtavPpo210.java:277)
at ca.canassistance.batch.MettreaJourXc4dsavXc4dtavPpo210.main(MettreaJourXc4dsavXc4dtavPpo210.java:540)
What I doing won t
can some one help me please