Hello,
I try to make a small application which use hibernate to comunicate with database.The problem is the following:
At a momment I have this situation:
In my values.hbm.xml file:
<hibernate-mapping >
<class lazy="false" name="BusinessProject.Medie" table="MyValues">
<id column="ID" name="ID" type="integer">
<generator class="identity"/>
</id>
<property name="FirstNumber" type="double">
<column name="No1"/>
</property>
<property name="SecondNumber" type="double">
<column name="No2"/>
</property>
<property name="ThirdNumber" type="double">
<column name="No3"/>
</property>
<property name="MA" type="double">
<column name="MA"/>
</property>
<property name="MG" type="double">
<column name="MG"/>
</property>
</class>
</hibernate-mapping>
the following code is the mapped class:
public class Medie implements IMedie
{
double dblfirstnumber,dblsecondnumber,dblthirdnumber;
double dblMA,dblMG;
int intID;
SaveMedie objSaveMedie = new SaveMedie();
Medii objLoadMedie = new Medii();
Flag flag;
ArrayList<Error> arrAllErrors = new ArrayList<Error>();
public double getFirstNumber()
{
flag = new Flag(false);
return dblfirstnumber;
}
public double getSecondNumber()
{
flag = new Flag(false);
return dblsecondnumber;
}
public double getThirdNumber()
{
flag = new Flag(false);
return dblthirdnumber;
}
public double getMA()
{
return dblMA;
}
public double getMG()
{
return dblMG;
}
public void setFirstNumber(double dblfirstnumber)
{
flag = new Flag(true);
this.dblfirstnumber=dblfirstnumber;
if ((dblfirstnumber < 20)||(dblfirstnumber > 150))
{
Error e = new Error();
e.setErrorNumber(0);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("FirstNumber");
arrAllErrors.add(e);
}
}
public void setSecondNumber(double dblsecondnumber)
{
flag = new Flag(true);
this.dblsecondnumber=dblsecondnumber;
if ((dblsecondnumber < 20)||(dblsecondnumber > 150))
{
Error e = new Error();
e.setErrorNumber(0);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("SecondNumber");
arrAllErrors.add(e);
}
if (dblsecondnumber == this.getFirstNumber())
{
Error e = new Error();
e.setErrorNumber(1);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("FirstNumber");
arrAllErrors.add(e);
}
}
public void setThirdNumber(double dblthirdnumber)
{
flag = new Flag(true);
if ((dblthirdnumber < 20)||(dblthirdnumber > 150))
{
Error e = new Error();
e.setErrorNumber(0);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("ThirdNumber");
arrAllErrors.add(e);
}
if (dblthirdnumber == this.getFirstNumber())
{
Error e = new Error();
e.setErrorNumber(3);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("ThirdNumber");
arrAllErrors.add(e);
}
if (dblthirdnumber == this.getSecondNumber())
{
Error e = new Error();
e.setErrorNumber(2);
e.setErrorString(RelatedFunctions.readerrFromFile(e.getErrorNumber()));
e.setProperty("SecondNumber");
arrAllErrors.add(e);
}
this.dblthirdnumber=dblthirdnumber;
}
public void setMA(double dblMA)
{
this.dblMA=dblMA;
}
public void setMG(double dblMG)
{
this.dblMG=dblMG;
}
public void setID(int l)
{
this.intID=l;
}
public int getID()
{
return intID;
}
public double MAritm(double dblfirst,double dblsecond, double dblthird)
{
return (dblfirst+dblsecond+dblthird)/3;
}
public double MGeom(double dblfirst,double dblsecond,double dblthird)
{
return Math.pow(dblfirst*dblsecond*dblthird,0.33);
}
public void LoadFromDB()
{
objSaveMedie.LoadFromDB();
}
public Medii getarr()
{
return objLoadMedie.loadFromDB();
}
public Medie()
{
}
public Medie(int intID)
{
this.LoadByID(intID);
}
public Medie LoadByID(int intID)
{
return this.objSaveMedie.LoadFromDBbyID(intID);
}
public ArrayList<Error> getErrarr()
{
return this.arrAllErrors;
}
public boolean isEmptyCollection()
{
if (this.arrAllErrors.size()==0)
return true;
return false;
}
public void updateDatabase(Medie objMedie)
{
this.objSaveMedie.UpdateDB(this);
}
}
As you can see I use in the hibernate mapping file the property called "FirstNumber" but the properties in the class is : setFirstNumber and getFirstNumber.If I rename my
properties in the class like in mapping file ("FirstNumber" e.g), to use the polymorphism ,then the application is not running.
Tell me please that issue is a hibernate restriction or something I made worng...
Many thanks,
Julian A.