问题没有意义。在hibernate中,这两个表实际上应该是实体,在这种情况下它们之间会有关系。你是否试图随机加入两张表并获得结果?如果是这样,你必须使用sql并使用ResultTransformer
将结果转换为对象。
private ResultTransformer getResultsTransformer()
{
ResultTransformer transformer = new AliasToBeanResultTransformer(
MyResultBean.class) {
@Override
public Object transformTuple(Object[] values, String[] aliases)
{
MyResultBean row = new MyResultBean();
for (int i = 0; i < aliases.length; i++)
{
row.set(aliases[i], values[i]);
}
return (row);
}
};
return transformer;
}
调用此如下:
Query q = session.createSQLQuery(sql);
q.setResultTransformer(getResultsTransformer());
List<MyResultBean> list = q.list();
UPDATE:如果表A有1对多用表B,那么我觉得最容易使用的别名
Criteria criteria = getSession().createCriteria(TableA.class);
criteria.createAlias("tableB","b");
criteria.add(Restrictions.eqProperty("id", "b.id");
criteria.list();
我希望这有助于。问候,
来源
2011-08-15 23:10:45
Ali
您有任何答案帮助吗? – Ali