http://www.tutorialspoint.com/hibernate/hibernate_native_sql.htm
@Transactional
public List listInForeignKey(Class classes,String fromtable,String foreignkeyname,Long foreignkey){
Session session =beforeTransaction();
//List list = session.createCriteria( classes).createAlias(foreignkeyname, foreignkeyname).add(Restrictions.eq(foreignkeyname+"."+foreignkeyname, foreignkey)).list();
SQLQuery query=whrere(session,classes,fromtable,foreignkeyname,foreignkey);
List results = query.list();
afterTransaction(session);
return results;
}
private SQLQuery whrere(Session session,Class classes,String fromtable,String foreignkeyname,Long foreignkey){
String sql = "SELECT * FROM ".concat(fromtable).concat(" WHERE ").concat(fromtable).concat(".").concat(foreignkeyname).concat(" =:").concat(foreignkeyname);
//System.out.println("whrere:"+sql); whrere:SELECT * FROM stock WHERE stock.warehouseId =:warehouseId
SQLQuery query = session.createSQLQuery(sql);
query.addEntity( classes);
query.setParameter(foreignkeyname, foreignkey);
return query;
}
@RequestMapping("/stock/list/{warehouseId}")
public List<Stock> listwarehouseId(@PathVariable("warehouseId") Long warehouseId){
//http://localhost:8081/suntoneBackend/stock/list/2
List<Stock> list = (List<Stock>)daoUtils.listInForeignKey(Stock.class, "stock", "warehouseId", warehouseId);
return list;
}
http://localhost:8081/suntoneBackend/stock/list/2
沒有留言:
張貼留言