我有桌子
CREATE TABLE test_wopk
(
id integer,
"name" character(25),
age integer
)
在休眠中进行反向工程之后,我得到了一个类和映射文件。
TestWopk.java
package gen;
// Generated 16.08.2012 14:08:26 by Hibernate Tools 3.4.0.CR1
/**
* TestWopk generated by hbm2java
*/
public class TestWopk implements java.io.Serializable
{
private TestWopkId id;
public TestWopk()
{
}
public TestWopk(TestWopkId id)
{
this.id = id;
}
public TestWopkId getId()
{
return this.id;
}
public void setId(TestWopkId id)
{
this.id = id;
}
}
TestWopkId.java
package gen;
// Generated 16.08.2012 14:08:26 by Hibernate Tools 3.4.0.CR1
/**
* TestWopkId generated by hbm2java
*/
public class TestWopkId implements java.io.Serializable
{
private Integer id;
private String name;
private Integer age;
public TestWopkId()
{
}
public TestWopkId(Integer id, String name, Integer age)
{
this.id = id;
this.name = name;
this.age = age;
}
public Integer getId()
{
return this.id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
public Integer getAge()
{
return this.age;
}
public void setAge(Integer age)
{
this.age = age;
}
public boolean equals(Object other)
{
if ((this == other))
return true;
if ((other == null))
return false;
if (!(other instanceof TestWopkId))
return false;
TestWopkId castOther = (TestWopkId) other;
return ((this.getId() == castOther.getId()) || (this.getId() != null && castOther.getId() != null && this.getId()
.equals(castOther.getId())))
&& ((this.getName() == castOther.getName()) || (this.getName() != null && castOther.getName() != null && this
.getName().equals(castOther.getName())))
&& ((this.getAge() == castOther.getAge()) || (this.getAge() != null && castOther.getAge() != null && this
.getAge().equals(castOther.getAge())));
}
public int hashCode()
{
int result = 17;
result = 37 * result + (getId() == null ? 0 : this.getId().hashCode());
result = 37 * result + (getName() == null ? 0 : this.getName().hashCode());
result = 37 * result + (getAge() == null ? 0 : this.getAge().hashCode());
return result;
}
}
TestWopk.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 16.08.2012 14:08:26 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="gen.TestWopk" table="test_wopk">
<composite-id name="id" class="gen.TestWopkId">
<key-property name="id" type="java.lang.Integer">
<column name="id" />
</key-property>
<key-property name="name" type="string">
<column name="name" length="25" />
</key-property>
<key-property name="age" type="java.lang.Integer">
<column name="age" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
我想从数据库中获取数据。
Session session = HibernateUtil.currentSession();
Transaction tx= session.beginTransaction();
//чтение из бд
List list = session.createQuery("from TestWopk").list();
Iterator itr = list.iterator();
while(itr.hasNext()){
TestWopk test = (TestWopk) itr.next();
System.out.print("EmpName: "+ test.getId());
System.out.print(" EmpSal: "+ test.getName());
System.out.print(" EmpSal: "+ test.getAge());
System.out.println();
}
tx.commit();
HibernateUtil.closeSession();
并得到错误
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method getName() is undefined for the type TestWopk
The method getAge() is undefined for the type TestWopk
at net.sf.hibernate.examples.quickstart.hib_main.main(hib_main.java:67)
请告诉我如何使用由休眠生成的类?