在我的 Web 应用程序中,我使用 Hibernate 和 struts2。因为我需要以 XML 形式发回数据,所以我添加了 SimpleXML 框架。
我还处于测试阶段。所以我在我的 Store 类中添加了注释,它也是由 Hibernate 生成的 POJO 类。
我的 xml 中没有数据。这是我得到的:
<store>
<storeID>0</storeID>
</store>
我期待这个 XML 代替:
<store>
<storeID>2</storeID>
<storeName>JC Penny</storeName>
</store>
Store 类的代码如下所示:
/**
* Store generated by hbm2java
*/
@Root(name="store")
@Entity
@Table(name="store"
,catalog="shopperdb"
)
public class Store implements java.io.Serializable {
@Element(name="storeID")
private int id;
@Element(name="storeName" , required=false)
private String name;
@Id
@Column(name="id", unique=true, nullable=false)
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="name", length=45)
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
这也是我的操作中的代码,它使用休眠从数据库加载数据并将 XML 生成到我的日志文件:
_sess = HibernateUtil.getSessionFactory().getCurrentSession();
if (!_sess.isOpen()) _sess = HibernateUtil.getSessionFactory().openSession();
_tx = _sess.beginTransaction();
Store tempStore = (Store) _sess.load(Store.class, 2);
Serializer serializer = new Persister();
serializer.write(tempStore, System.out);
_tx.commit();
顺便说一句,我从数据库中获取了正确的数据,因为我有一些从这篇文章中获取的打印语句。
非常感谢您的帮助,萨尔。