博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate alias 使用
阅读量:7087 次
发布时间:2019-06-28

本文共 7546 字,大约阅读时间需要 25 分钟。

 

hibernate 自连接 注解 item parentItem ( 非级联删除 , 级联查询)

http://knight-black-bob.iteye.com/blog/2290675

 

本文 介绍 .setResultTransformer(Transformers.aliasToBean(MenuVo.class) 并非 内链接 ,注解内链接请看上面博客

 

package com.cailing.menu.entity;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import org.codehaus.jackson.annotate.JsonAutoDetect;import org.slave4j.orm.hibernate.BaseEntity;@SuppressWarnings("serial")@JsonAutoDetect@Entity@Table(name = "t_activity")@org.hibernate.annotations.Proxy(lazy = false)public class Menu extends BaseEntity implements Serializable {		@Id	@GeneratedValue(strategy=GenerationType.AUTO)	@Column(name="id")	private Integer id;		@Column(name = "short_name")	private String short_name;		@Column(name = "menu_name")	private String menu_name;		@Column(name = "url")	private String url;		@Column(name = "state")	private Integer state;		@Column(name = "seq")	private Integer seq;		@Column(name = "level")	private Integer level;		@Column(name = "children")	private Integer children;		@Column(name = "parent_id")	private Integer parent_id;		@Column(name = "image")	private String image;	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public String getShort_name() {		return short_name;	}	public void setShort_name(String short_name) {		this.short_name = short_name;	}	public String getMenu_name() {		return menu_name;	}	public void setMenu_name(String menu_name) {		this.menu_name = menu_name;	}	public String getUrl() {		return url;	}	public void setUrl(String url) {		this.url = url;	}	public Integer getState() {		return state;	}	public void setState(Integer state) {		this.state = state;	}	public Integer getSeq() {		return seq;	}	public void setSeq(Integer seq) {		this.seq = seq;	}	public Integer getLevel() {		return level;	}	public void setLevel(Integer level) {		this.level = level;	}	public Integer getChildren() {		return children;	}	public void setChildren(Integer children) {		this.children = children;	}	public Integer getParent_id() {		return parent_id;	}	public void setParent_id(Integer parent_id) {		this.parent_id = parent_id;	}	public String getImage() {		return image;	}	public void setImage(String image) {		this.image = image;	}		}

 

package com.cailing.menu.entity;import java.util.List;public class MenuVo {	// M.id, M.parent_id,M.`LEVEL`,M.menu_name,M.children,M.URL,M.SEQ,M.IMAGE	private Integer id;	private Integer parentId;	private Integer level;	private String menuName;	private Integer children;	private String url;	private Integer seq;	private String image;		private List
childrenList; @Override public String toString() { return "MenuVo [id=" + id + ", parentId=" + parentId + ", level=" + level + ", menuName=" + menuName + ", children=" + children + ", url=" + url + ", seq=" + seq + ", image=" + image + ", childrenList=" + (childrenList != null ? childrenList.toString() : null) + "]"; } public List
getChildrenList() { return childrenList; } public void setChildrenList(List
childrenList) { this.childrenList = childrenList; } public Integer getSeq() { return seq; } public void setSeq(Integer seq) { this.seq = seq; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getParentId() { return parentId; } public void setParentId(Integer parentId) { this.parentId = parentId; } public Integer getLevel() { return level; } public void setLevel(Integer level) { this.level = level; } public String getMenuName() { return menuName; } public void setMenuName(String menuName) { this.menuName = menuName; } public Integer getChildren() { return children; } public void setChildren(Integer children) { this.children = children; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } }

 

 

package com.cailing.menu.dao;import java.util.List;import org.hibernate.Hibernate;import org.hibernate.Query;import org.hibernate.transform.Transformers;import org.springframework.stereotype.Repository; import com.cailing.base.BaseDao;import com.cailing.menu.entity.Menu;import com.cailing.menu.entity.MenuVo;@Repositorypublic class MenuDao extends BaseDao
{ public List
getList(Integer userId,Integer parentId){ String sql ="SELECT M.id id, M.parent_id parentId,M.LEVEL level ,M.menu_name menuName,M.children children,M.URL url,M.SEQ seq,M.IMAGE image FROM T_MENU M "+ " INNER JOIN T_ROLE_MENU R ON M.id = R.menu_id INNER JOIN T_ROLE E ON R.role_id = E.ID "+ " INNER JOIN T_USER_ROLE L ON E.ID = L.role_id INNER JOIN T_USER S ON L.user_id = S.ID "+ " WHERE S.ID=? AND M.parent_id=? ORDER BY M.SEQ ASC "; /* private Integer id; private Integer parentId; private Integer level; private String menuName; private Integer children; private String url; private Integer seq; private String image;*/ Query query = this.getSession().createSQLQuery(sql) .addScalar("id", Hibernate.INTEGER) .addScalar("parentId", Hibernate.INTEGER) .addScalar("level", Hibernate.INTEGER) .addScalar("menuName", Hibernate.STRING) .addScalar("children", Hibernate.INTEGER) .addScalar("url", Hibernate.STRING) .addScalar("seq", Hibernate.INTEGER) .addScalar("image", Hibernate.STRING) .setResultTransformer(Transformers.aliasToBean(MenuVo.class)); query.setInteger(0, userId); query.setInteger(1, parentId); return query.list(); } public List
getList(Integer userId){ List
parentList = this.getList(userId, -1); List
childrenList = null; for (MenuVo menuVo : parentList) { childrenList = this.getList(userId, menuVo.getId()); menuVo.setChildrenList(childrenList); } return parentList; } }

 

 

package com.cailing.activity.service;import java.util.List;import javax.annotation.Resource;import org.slave4j.orm.hibernate.BaseDao;import org.slave4j.orm.hibernate.BaseService;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.cailing.activity.dao.ActivityDao;import com.cailing.activity.entity.Activity;@Service@Transactionalpublic class ActivityService extends BaseService
{ @Override @Resource(name = "activityDao") public void setBaseDao(BaseDao
baseDao) { this.baseDao = baseDao; } public List
getIndexActivity() { return ((ActivityDao)this.baseDao).getIndexActivity(); } public List
getTest() { return ((ActivityDao)this.baseDao).getTest(); }}

 

 

package com.cailing.menu.service;import java.util.List;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.cailing.menu.entity.MenuVo; public class MenuServiceTest {	public static void main(String[] args) {		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(  new String[] { "classpath*:applicationContext*.xml"  }); 		 MenuService service = (MenuService) context.getBean("menuService");		 		 List
list = service.getList(2); System.out.println(list.toString()); } }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。

 
 
 谢谢您的赞助,我会做的更好!

 

 

 

转载地址:http://czbql.baihongyu.com/

你可能感兴趣的文章
老罗自掏腰包为开源社区捐款,并表示锤子将自己编写OS
查看>>
mysql主从复制(半同步方式)
查看>>
6年来,Docker的这些变化你都知道吗?
查看>>
支付宝客户端架构解析:iOS 客户端启动性能优化初探
查看>>
Maven之pom.xml配置文件详解(转载)
查看>>
优化Git本地仓库
查看>>
对.NET Core未来发展趋势的浅层判断
查看>>
Python高级知识点学习(七)
查看>>
《人月神话》(P7)编写手册和组织开会
查看>>
WPF如何实现一个漂亮的页签导航UI
查看>>
Dubbo+zookeeper实现分布式服务框架
查看>>
HTML编码规范
查看>>
游戏开发者福音:微软开源部分 Minecraft 的 Java 代码
查看>>
Firefox 66 存在使 PPT 文字消失的 bug,v68 才修复
查看>>
Android 三星手机拍照,从图库选择照片旋转问题完美解决
查看>>
在线表格 x-spreadsheet 1.0.16 发布
查看>>
PostgreSQL 多值列的选择性 - Statistics, Cardinality, Selectivity, Estimate
查看>>
三大主流芯片架构特点
查看>>
Python Flask学习知识点(四)
查看>>
Confluence 6 数据库整合的限制
查看>>