利用Hibernate子查询(in) 得到部分字段(实体类的构造函数)
感人= = 终于弄好了
String hql="select new Shop(s.strid,s.shopname,s.tradearea,s.discountinfo,s.begintime,s.finishtime) from Shop as s where s.strid in (select strid from Moneythreeshop m where m.strid = s.strid)";
Query query=session.createQuery(hql);
List<Shop> list=query.list();
package com.dazhe.model; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; //create table shop(id int primary key auto_increment,strid varchar(50),shopname varchar(100),city varchar(40),county varchar(40),tradearea varchar(40),
//mainphoto varchar(40),discountinfo varchar(200),begintime varchar(30),finishtime varchar(30),shopgoods varchar(200),addressx double,
//addressy double,mindiscount double,detailedaddress varchar(50),maintel varchar(20),reservetel varchar(20),shopinfo varchar(300),
//goodsinfo varchar(300),popularity int,brand varchar(50)
//)default charset=utf8;
@Entity
public class Shop {
// private int id;
private String strid;
private String shopname; //店名
private String city; //城市 默认福州把
private String county; //区县
private String tradearea; //商圈
private String mainphoto; //主照片
private String discountinfo; //打折信息
private String begintime; //开始时间
private String finishtime; //结束时间
private String shopgoods; //店内商品有哪些
private double addressx; //地图坐标
private double addressy; //地图坐标
private double mindiscount; //最低折扣
private String detailedaddress; //详细地址
private String maintel; //主要电话
private String reservetel; //备用电话
private String shopinfo; //商店简介 和美团那个三级界面一样
private String goodsinfo; //打折商品简介 和美团一样
private String popularity; //人气 默认0 用户每访问一次 就+1
private String brand; //品牌 比如 耐克店的品牌就是 NIKE
private String lanmutype; //栏目类别 lanmu表没了 public Shop(String strid,String shopname,String tradearea,String discountinfo
,String begintime,String finishtime){
// this.id=id;
super();
this.strid=strid;
this.shopname=shopname;
this.tradearea=tradearea;
this.discountinfo=discountinfo;
this.begintime=begintime;
this.finishtime=finishtime;
}
public Shop(){ } // public int getId() {
// return id;
// }
// public void setId(int id) {
// this.id = id;
// }
public String getLanmutype() {
return lanmutype;
}
public void setLanmutype(String lanmutype) {
this.lanmutype = lanmutype;
}
@Id
// @GeneratedValue 不自动生成
public String getStrid() {
return strid;
}
public void setStrid(String strid) {
this.strid = strid;
}
public String getShopname() {
return shopname;
}
public void setShopname(String shopname) {
this.shopname = shopname;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getCounty() {
return county;
}
public void setCounty(String county) {
this.county = county;
}
public String getTradearea() {
return tradearea;
}
public void setTradearea(String tradearea) {
this.tradearea = tradearea;
}
public String getMainphoto() {
return mainphoto;
}
public void setMainphoto(String mainphoto) {
this.mainphoto = mainphoto;
}
public String getDiscountinfo() {
return discountinfo;
}
public void setDiscountinfo(String discountinfo) {
this.discountinfo = discountinfo;
}
public String getBegintime() {
return begintime;
}
public void setBegintime(String begintime) {
this.begintime = begintime;
}
public String getFinishtime() {
return finishtime;
}
public void setFinishtime(String finishtime) {
this.finishtime = finishtime;
}
public String getShopgoods() {
return shopgoods;
}
public void setShopgoods(String shopgoods) {
this.shopgoods = shopgoods;
}
public double getAddressx() {
return addressx;
}
public void setAddressx(double addressx) {
this.addressx = addressx;
}
public double getAddressy() {
return addressy;
}
public void setAddressy(double addressy) {
this.addressy = addressy;
}
public double getMindiscount() {
return mindiscount;
}
public void setMindiscount(double mindiscount) {
this.mindiscount = mindiscount;
}
public String getDetailedaddress() {
return detailedaddress;
}
public void setDetailedaddress(String detailedaddress) {
this.detailedaddress = detailedaddress;
}
public String getMaintel() {
return maintel;
}
public void setMaintel(String maintel) {
this.maintel = maintel;
}
public String getReservetel() {
return reservetel;
}
public void setReservetel(String reservetel) {
this.reservetel = reservetel;
}
public String getShopinfo() {
return shopinfo;
}
public void setShopinfo(String shopinfo) {
this.shopinfo = shopinfo;
}
public String getGoodsinfo() {
return goodsinfo;
}
public void setGoodsinfo(String goodsinfo) {
this.goodsinfo = goodsinfo;
}
public String getPopularity() {
return popularity;
}
public void setPopularity(String popularity) {
this.popularity = popularity;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
} }
版权声明:本文为博主原创文章,未经博主允许不得转载。
利用Hibernate子查询(in) 得到部分字段(实体类的构造函数)的更多相关文章
- hibernate sql查询后对象转换成实体类
在多表查询的时候使用hibernate的sql查询的时候,一般返回的是object[]数组,或者可以使用 session.createSQLQuery(sql).setResultTransform ...
- Mybatis 一对多延迟加载,并且子查询中与主表字段不对应 (19)
Mybatis 一对多延迟加载,并且子查询中与主表字段不对应应用说明. 实现一对多关联(懒加载),一个教研组对应多个教师,既:教师的教研编号与教研组的教研编号关联,并且教师关联教研组外键与教研组编号 ...
- hibernate子查询
对于支持子查询的数据库,Hibernate支持在查询中使用子查询.一个子查询必须被圆括号包围起来(经常是SQL聚集函数的圆括号). 甚至相互关联的子查询(引用到外部查询中的别名的子查询)也是允许的. ...
- 使用mybatis框架实现带条件查询-多条件(传入实体类)
在实际的项目开发中,使用mybatis框架查询的时候,不可能是只有一个条件的,大部分情况下是有多个条件的,那么多个条件应该怎样传入参数: 思考: 需求:根据用户姓名(模糊查询),和用户角色对用户表进 ...
- hibernate的反转引擎生成两个实体类的问题
在使用myeclipse中自带的hibernate 进行jsp开发时候遇到了这个问题.使用hibernate的反转引擎从数据库生成生成实体类,一个表生成了两个类,xx.java和xxId.java . ...
- 关于hibernate子查询参数的问题
private Map<String, Object> createWblHqlContext(boolean needGroup, String startDate, String en ...
- eclipse下如何使用Hibernate反转工程生与数据库对应的实体类和映射文件(以MySQL为例)
首先需要为eclipse添加对Hibernate的支持(也就是下载的Hibernate中的jar包),下载方法另查,这里不多做阐述. 想要使用反转工程,首先要下载Hibernate反转工程的插件Jbo ...
- 泛型的运用(用于查询数据后DataTable转实体类)
2019.8.14 更新 补全了DataTable转泛型集合的方法: /// <summary> /// DataTable转实体类集合 /// </summary> /// ...
- 在Intellij IDEA下通过Hibernate逆向生成实体类
前言:在IDEA中,通过相关插件,可以利用Hibernate逆向生成数据表对应的实体类.具体操作及注意事项见本篇随笔. 1.创建一个基于maven的hibernate工程.并在工程中添夹hiberna ...
随机推荐
- MongoDB4.0+版本安装
>>>首先要下载MongoDB软件安装包, MongoDB社区版官网下载 >>>双击msi安装文件进行安装,点击"Next" >>& ...
- nRF52832 改变ATT_MTU提高蓝牙数据发送速率(nRF5_SDK_14.2.0)
nRF52832 作为一个低功耗蓝牙芯片,其数据发送发送速率一直都偏低(高就不叫低功耗了^_^),作为初学者在网上找了很多资料,终于找到通过修改ATT_MTU来提升发送速率的方法,最快能达到8.2KB ...
- 接口与协议学习笔记-AMBA片上通信协议_APB_AHB_AXI_AXI4不同版本(二)
随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最 ...
- python,使用枚举类,面向对象高级编程
python #针对常量 #枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例. from enum import Enum Month = Enum('Month', ('J ...
- 马尔可夫毯(Markov blanket)
马尔可夫毯(Markov blanket) 马尔科夫毯,是满足如下特性的一个最小特征子集:一个特征在其马尔科夫毯条件下,与特征域中所有其他特征条件独立.设特征T的马尔科夫毯为MB(T),则上述可表示为 ...
- 在eclipse中运行spring web application时的异常: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...
- Eclipse无法查看源码 提示source not found
学习项目代码的时候想要看一下Cookie的源码,已经确定下载到了本地,可是Ctrl+左键点进去,提示source not found(如下图),百度了以后,大家普遍认为需要安装反编译插件jad. 看了 ...
- 使用Sublime Text 3作为React Native的开发IDE
1.下载安装Sublime 3 Sublime 3的下载地址:http://www.sublimetext.com/3 选相应的平台进行下载,安装. 2.安装Package Control 默认的Su ...
- linux多项目分别使用不同jdk版本(tomcat版)
此操作只针对tomcat 背景:linux服务器普通用户默认版本为jdk6,jboss项目使用jdk6版本 ,但是tomcat需要使用jdk7.当然也可以分开使用不同账户来启用这两个项目,下面主要介绍 ...
- Ubuntu18.04安装Python3.6.8
Ubuntu18.04预装了Python3.6.5 终于不再预装Python2.7了 但是系统预装的Python分散安装在各个目录里 以后改起来非常不方便 所以本次安装Python3.6.8 Pyth ...