有沒有辦法在未映射表上使用java bean功能?Hibernate查詢未映射表
所以,我有一個只用於讀取的表,它將永遠不會被修改。我需要查詢它只顯示數據。但我不希望在查詢未映射對象時,hibernate默認使用的Object []返回類型。我想將結果檢索到自定義類型集合中。但我將不得不創建hbm文件來執行此操作。無論如何只要創建自定義類型並且沒有hbm文件?
loadResults()
{
String qry = "select col1, col2 from table";
List<CustomType> result = (ArrayList<CustomType>) dao.HQLWithTransformer(qry, new CustomTransformer());
}
定製變壓器:
public class CustomTransformer implements ResultTransformer {
@Override
public Object transformTuple(Object[] rowdata, String[] arg1)
{
return new CustomType(String.valueOf(rowdata[0]),String.valueOf(rowdata[1]));
return null;
}
@Override
public List transformList(List arg0) {
return null;
}
}
DAO方法:
加載結果Businessobj方法
public Collection HQLWithTransformer(String qry, ResultTransformer rt){
List<?> al=null;
try
{
Query q = sess.createQuery(qry);
q.setResultTransformer(rt);
al = (ArrayList<?>)q.list();
}
catch(HibernateException he)
{
log.debug("Hibernate Exception", he);
}
finally
{
sess.close();
}
return al;
}
嘗試了註釋。由於某些原因,註釋未被識別。我的classpath有hibernate-jpa-2.0-api-1.0.0.Final.jar,hibernate3.jar(3.5),hibernate-validator-4.0.2.GA.jar。 – sotn 2013-03-19 20:23:22
我能弄清楚爲什麼註釋不起作用。有一些設置問題。 – sotn 2013-03-21 05:51:57
@sotn酷,很高興你明白了:) – kostja 2013-03-21 08:27:35