hibernate的hql语句怎么写

hibernatesql删除语句怎么写(hql删除语句)

1.hql删除语句

1、新建一个Person实体类。

2、Shift+Alt+s+r生成get,set方法。

3、新建一个反射获取属性的方法public <T> void getDomainValue(T entity) { 。

4、新建方法测试testGetValue反射打印的Person属性。

5、修改getDomainValue方法,使其生成HQL语法。

6、运行testGetValue方法,查看打印情况打印结果。

注意事项:

Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 在HQL中使用类名,而不是表名,它是数据库独立的查询语言。

2.1,hibernate中用hql怎么执行delete的sql语句

你可以使用一楼的方式

如果使用hql方式,参考如下:

public void testDml(){

Session session = null;

Transaction tx = null;

try {

session = HibernateUtils.getSession();

tx = session.getTransaction();

session.beginTransaction();

Query query = session.createQuery("delete Student s where s.id=?");

query.setInteger(0, 1);

query.executeUpdate();

tx.commit();

} catch (HibernateException e) {

tx.rollback();

e.printStackTrace();

}finally{

HibernateUtils.closeSession(session);

}

}

3.hibernate在Dao中删除一个对象如何写

hibernate通过id来进行db操作删除记录的,删除方法如下:

publicstatic void delete(Object obj) {

Session session = null;

Transaction tx = null;

try {

session =HibernateUtil.getSession();

tx =session.beginTransaction();

session.delete(obj);

tx.commit();

} finally {

if (session != null) {

session.close();

}

}

}

4.hibernate在Dao中删除一个对象如何写

必须有一个东西可以定位到是数据表中的某一条数据,否则是无法删除的,当然了,是否主键id无所谓,但必须要保证唯一能定位。

就像一堆数据,你想怎么删除其中一条,肯定是根据某些条件知道这条数据的吧,这个条件就是id或者自己定义的一些参数。这个load,delete,update都是方法,可以自己写这种方法,尔后调用的。

一般是按F3健查看源码方法。比方说你定义一个 Aid,点击按钮获得一个id,然后将你得到的id赋值给你定义的Aid,之后你用getHibernateTemplate().load(Person.class, Aid); 就好了。

而且也必须这样才能实现我们所用的。你那个new Integer(1) 是重新生成的一个id。

new Integer(1),就是一参数,实际上由自己获取。至于删除 确实要delete,假设要删除,先加载再删除时可以的。

也可以这样写getHibernateTemplate().delete(Person.class, Aid); 前提是要找出这个delete方法。你把DAO中的这个方法贴出来,然后改一下就应该可以了。

hibernatesql删除语句怎么写

hql关联查询语句怎么写

1.hibernate如何做关联查询呢

很多人认为hibernate一旦涉及到多张表查询就很不方便,只能通过原生sql解决,其实不然,hql语句其实已经比较强大了,基本涵盖了sql的60%的功能。我认为用原生sql的场景应该为以下几点情况:

1. 非常复杂sql(嵌套、临时表、混合语句【update包含select嵌套】)

2. 某数据库(如oracle)特性函数

3. 特殊业务sql,即查询出的结果是某种特殊业务含义,并不是po实体类里的字段。例如:select col_1 as business1, col_2 as business2 from table;(business1并不是table的字段)

除以上特殊需求外,我建议能用hq就用hql,hql最大的优点,除了能自动映射成po实体类,另一个就是跨数据库的通用性,采用hql语句可以轻松将数据库由mysql改为oracle。

hql的基础我就不再叙述了,今天我为大家主要介绍多表之间的关联查询。

1. po之间含有关联关系

public class Student {

private Clazz clazz;

get()。

set()。

}

from Student t inner join t.clazz r where t.sex = '男' and r.name = '三班'

这个语句默认情况下,是懒加载的,如果想一并抓取,则语句为:

from Student t inner join fetch t.clazz r where t.sex = '男' and r.name = '三班'

hql同样支持left join和right join等关联查询

2. po之间没有关联关系

public class Student {

private String clazzId;

get()。

set()。

}

select t from Studnent t, Clazz r where t.clazzId = r.id and t.sex = '男' and r.name = '三班'

3. 查询部分字段

另外有时我们只需要查询po对象里的部分字段,那么怎么查呢?

select new Student(name, sex) from Student

但需要注意的是,Student实体类中必须要有参数为name,sex的构造函数。

4. 统计函数

支持count()、min()、max()、sum()、avg()等

select avg(s.age) from Student as s

5. 去除重复行

select distinct s.age from Student as s

6. 综合用法

举一个典型的例子:分页。用hibernate分页,现在大多数人还是采用两步去做,第一步统计行数,第二步分页查询(目的是计算出总页数),如果想一步完成,多数人还是用sql了,其实hql也能做到。

select new Student(t.name, t.sex, count(t)) from Sudent t

在Student实体类中只要有参数为name, sex, rowCount的构造函数即可,rowCount也可以不是数据库里的字段

通过以上可以看出,某一技术我们有时觉得不方便,只是我们还不够了解它,需要我们更多的仔细去探索和挖掘。

2.怎么用HQL语句写级联查询啊

FROM Channel c,Module m,ChannelModule cm

where c.channelId=cm.channelId and m.moduleId=cm.moduleId and c.channelId=:id

看能不能运行,我不有把握。而且Hibernate查出来了也没办法用对象来装东西,因为是三个对象里面的东西。

如果你上面的程序可以运行的话,哪可以用上面的sql来吧。

Hibernate也可以直接用sql来做的。

String sql = "select * from channel c,module m,channel_module cm

where c.channel_id=cm.channel_id and m.module_id=cm.module_id and c.channel_id="+id;

Query query = getSession().createSQLQuery(sql);

return query.list();

出来的结果是对象数组。

//Collectionmodules=null;

你这个定义就不对,因为你查询的都是module表的内容吗?不是吧

3.hibernate的关联查询怎么实现

hibernate的关联查询实现方法,比如有存在关联的表A和表B字段分别如下:

A:id,aName,aDesc

B:id,aId,bName,bDesc

希望查询的结果是:A.id,B.id,A.aName,B.bName,B.bDesc

1.按照如下步骤操作:

①创建A和B的hibernate映射,相互不用关联,对应持久化类为APojo和BPojo

②创建结果集的载体CPojo,CPojo只是简单的一个JavaBean不是持久化类,它的属性与查询结果相对应:

public class CPojo {

public long aId;

public long bId;

public String aName;

public String bName;

public String bDesc;

public CPojo(long aId, long bId, String aName, String bName, String bDesc) {

this.aId = aId;

this.bId = bId;

this.aName = aName;

this.bName = bName;

this.bDesc = bDesc;

}

}2.HQL关联查询语句写法:

Select new com.XXX.CPojo(a.id,b.id,a.aName,b.bName,b.bDesc) from A a,B b where a.id = b.aId优点:不需要建立复杂的持久化类,也不需要建立视图。结果集可以自由定制。

4.hibernate如何做关联查询呢

很多人认为hibernate一旦涉及到多张表查询就很不方便,只能通过原生sql解决,其实不然,hql语句其实已经比较强大了,基本涵盖了sql的60%的功能。

我认为用原生sql的场景应该为以下几点情况:1. 非常复杂sql(嵌套、临时表、混合语句【update包含select嵌套】)2. 某数据库(如oracle)特性函数3. 特殊业务sql,即查询出的结果是某种特殊业务含义,并不是po实体类里的字段。例如:select col_1 as business1, col_2 as business2 from table;(business1并不是table的字段)除以上特殊需求外,我建议能用hq就用hql,hql最大的优点,除了能自动映射成po实体类,另一个就是跨数据库的通用性,采用hql语句可以轻松将数据库由mysql改为oracle。

hql的基础我就不再叙述了,今天我为大家主要介绍多表之间的关联查询。1. po之间含有关联关系public class Student { 。

private Clazz clazz; get()。 set()。

} from Student t inner join t.clazz r where t.sex = '男' and r.name = '三班'这个语句默认情况下,是懒加载的,如果想一并抓取,则语句为:from Student t inner join fetch t.clazz r where t.sex = '男' and r.name = '三班'hql同样支持left join和right join等关联查询2. po之间没有关联关系public class Student { 。 private String clazzId; get()。

set()。 } select t from Studnent t, Clazz r where t.clazzId = r.id and t.sex = '男' and r.name = '三班'3. 查询部分字段另外有时我们只需要查询po对象里的部分字段,那么怎么查呢?select new Student(name, sex) from Student但需要注意的是,Student实体类中必须要有参数为name,sex的构造函数。

4. 统计函数支持count()、min()、max()、sum()、avg()等select avg(s.age) from Student as s5. 去除重复行select distinct s.age from Student as s6. 综合用法举一个典型的例子:分页。用hibernate分页,现在大多数人还是采用两步去做,第一步统计行数,第二步分页查询(目的是计算出总页数),如果想一步完成,多数人还是用sql了,其实hql也能做到。

select new Student(t.name, t.sex, count(t)) from Sudent t在Student实体类中只要有参数为name, sex, rowCount的构造函数即可,rowCount也可以不是数据库里的字段通过以上可以看出,某一技术我们有时觉得不方便,只是我们还不够了解它,需要我们更多的仔细去探索和挖掘。

5.java框架hibernate如何用hql语句查询多对多关联关系

Query query = session.createQuery(“select s.students from Teacher s where s.name= 'xxx' ”);

List list = query.list();

for (int i=0;i<list.size(); i++)

{

Student stu = (Student)list.get(i);

System.out.println(stu.getName());

}

6.怎么用HQL语句写级联查询啊

FROM Channel c,Module m,ChannelModule cmwhere c.channelId=cm.channelId and m.moduleId=cm.moduleId and c.channelId=:id 看能不能运行,我不有把握。

而且Hibernate查出来了也没办法用对象来装东西,因为是三个对象里面的东西。如果你上面的程序可以运行的话,哪可以用上面的sql来吧。

Hibernate也可以直接用sql来做的。String sql = "select * from channel c,module m,channel_module cmwhere c.channel_id=cm.channel_id and m.module_id=cm.module_id and c.channel_id="+id;Query query = getSession().createSQLQuery(sql);return query.list();出来的结果是对象数组。

//Collection modules=null;你这个定义就不对,因为你查询的都是module表的内容吗?不是吧。

hql关联查询语句怎么写

hql查询语句怎么写

1.hql语句怎么写

String hql="from 类名 where app=6 AND pro_read_flag=FALSE";

Query query=session.createQuery(hql);

或者

String hql="from 类名 where app=? AND pro_read_flag=?";

Query query=session.createQuery(hql);

query.setParameter(0,6);

query.setParameter(1,false);

2.查询的 hql 语句这样写对吗

String hql = "from Denglu denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();

Denglu类必须和数据库表对应, 有个问题,你这里的denglu 是为什么写这?为了传name和pwd吗?如果不是可以不要,如下:

String hql = "from Denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();

从你的代码上看,后台好像没问题,是不是前台问题,没传过来值?

会断点调试吗?不会就直接 System.out.print看看denglu.getUsername() 和denglu.getPassword()传的对不对。

hibernate删除语句怎么写

1. hql删除语句

1、新建一个Person实体类。

2、Shift+Alt+s+r生成get,set方法。

3、新建一个反射获取属性的方法public <T> void getDomainValue(T entity) { 。

4、新建方法测试testGetValue反射打印的Person属性。

5、修改getDomainValue方法,使其生成HQL语法。

6、运行testGetValue方法,查看打印情况打印结果。

注意事项:

Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 在HQL中使用类名,而不是表名,它是数据库独立的查询语言。

2. hibernate里面怎么删除

new 出来一个实例,给主键赋值的方法确实只执行一条语句,但是需要注意的是,如果你的这个实例对应的表有约束(如not null, foreign key等)的话,你还得为那些约束的字段赋值,很不容易控制. 如果不喜欢用先get/load之后再delete的方法的话,你就用createQuery吧:

session.createQuery("delete from User where col_id in {:ids}").setParameterList("ids", {}).executeUpdate();

还能一次删除多条记录.但是要注意外键的级联删除.

3. hibernate在Dao中删除一个对象如何写

hibernate通过id来进行db操作删除记录的,删除方法如下:

publicstatic void delete(Object obj) {

Session session = null;

Transaction tx = null;

try {

session =HibernateUtil.getSession();

tx =session.beginTransaction();

session.delete(obj);

tx.commit();

} finally {

if (session != null) {

session.close();

}

}

}

4. hibernate添加语句怎么写

不是有映射文件吗?

比如你的数据库表为student

那么的你就应该有hibernate.cfg.xml配置文件和他的映射文件hibernate.hbm.xml,最后还应该有一个student表的映射类student.java

这3个文件.

然后你建一个实现类studentInsert

实现是

SessionFactory sf = new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

student st=new student();

st.setId("0001");

st.setUserName("Wang");

st.setpassWord("123");

session.save(st);

tx.commit();

session.close();

就是这样.

hibernate删除语句怎么写

hql语句怎么写

1. hql语句怎么写

String hql="from 类名 where app=6 AND pro_read_flag=FALSE";

Query query=session.createQuery(hql);

或者

String hql="from 类名 where app=? AND pro_read_flag=?";

Query query=session.createQuery(hql);

query.setParameter(0,6);

query.setParameter(1,false);

2. hql语句怎么写

String hql="from 类名 where app=6 AND pro_read_flag=FALSE";Query<类名> query=session.createQuery(hql);或者String hql="from 类名 where app=? AND pro_read_flag=?";Query<类名> query=session.createQuery(hql);query.setParameter(0,6);query.setParameter(1,false);。

3. hql语句怎么写呢,本人学生,请各位帮我看看,谢谢

感觉你的表建的不规范。

应该User表中有School的id 那样才会有一个学校对应多个user.. 个人看法..定义了保存,修改,删除,查找等方法的 类为 myDao则有:myDao dao=new myDao();School school=dao.findById(School.class,school_id);User user=school.getUsers();------------------------------myDao里的findById()方法定义如下:public Object findById(Class cla,Integer id) { Session session = HibernateSessionFactory.getSession(); Object o = session.get(cla, id); session.close(); return o; }我知道的就这些了062 希望能帮到你..呵呵..。

hibernate查询语句怎么写

1. hibernate 查询语句

因为hibernate是封装了JDBC的框架。

文中第一句:String queryString ="from *****";我想楼主应该知道这是HQL语句,TbArea 是你在hibertate 配置文件中定义的名称.propertyName + "= ?";是属性名

这句话可以看做正常的sql语句是

select * from TbArea as a where a.属性名 = 你在程序中传过来的参数;

第二句:

Query queryObject = getSession().createQuery(queryString);

是hibernate里面封装好的方法,取得你session对象,并创建Query对象。。该对象在Hibernate中你可以了解为jdbc的statement对象.

queryString就是你执行的sql语句.

第三句:

queryObject.setParameter(0, value);

queryObject我想楼主不是很熟练JDBC吧。这个对象基本和statement相似.这种写法是最常用的,优点我不太记得。

setParameter也就是设置你第一句HQL语句中的问号。设置参数.value为你方法中传进来的参数

return queryObject.list();返回查询到的多行数据,做为列表形式返回。

2. hibernate添加语句怎么写

不是有映射文件吗?

比如你的数据库表为student

那么的你就应该有hibernate.cfg.xml配置文件和他的映射文件hibernate.hbm.xml,最后还应该有一个student表的映射类student.java

这3个文件.

然后你建一个实现类studentInsert

实现是

SessionFactory sf = new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

student st=new student();

st.setId("0001");

st.setUserName("Wang");

st.setpassWord("123");

session.save(st);

tx.commit();

session.close();

就是这样.

3. java连接mysql 用hibernate怎么写查询语句

第一种方式:HQL(Hibernate Query Languge,Hibernate 查询语言)查询是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念,HQL 是应用较为广泛的方式语法:[select/update/delete……] from Entity [where……] [group by……] [having……] [order by……](1).没使用Spring框架的写法:使用HQL需要四步得到Session、编写HQL语句、创建Query对象(Query接口是HQL 查询接口。

它提供了各种的查询功能)、执行查询,得到结果 sessionFactory = new Configuration().configure().buildSessionFactory(); session = sessionFactory.openSession(); String hql = “from Street”; Query query = session.createQuery(hql); List list = query.list();(2).使用Spring框架的写法:String queryString = "select form entity 。.";List list=getHibernateTemplate().find(queryString);第二种方式:Criteria 查询Criteria 查询采用面向对象方式封装查询条件,又称为对象查询;就是对SQL 语句进行封装,采用对象的方式来组合各种查询条件由Hibernate 自动产生SQL 查询语句(1).没使用Spring框架的写法;Criteria由Hibernate Session进行创建SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); Criteria criteria = session.createCriteria(User.class); List result = criteria.list(); Iterator it = result.iterator(); (2)使用Spring框架的写法:import org.hibernate.criterion.DetachedCriteria;DetachedCriteria criteria=DetachedCriteria.forClass(ObjectEntity.class);criteria.add(Restrictions.eq("propertyName", propertyValue));List result=getHibernateTemplate().findByCriteria(criteria);第三种方式:使用SQL语句查询(以下都是使用了Spring框架的写法)1).这是把执行结果放到了一个类里:(这个类通常使用VO实体,VO实体一般就只用来接收查询结果)List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { StringBuffer hqlBuffer = new StringBuffer(""); hqlBuffer.append("select column_Name from 。

");//里面是SQL语句 SQLQuery sqlQuery = session.createSQLQuery(hqlBuffer.toString()); sqlQuery.addScalar("propertyName",Hibernate.STRING);//该propertyName是 ObjectVO实体的一个属性 sqlQuery.setResultTransformer(Transformers.aliasToBean(ObjectVO.class)); List list = sqlQuery.list(); return list;//此处list集合中存放的是ObjectVO对象 } });2).返回结果放到list中的: final String queryString = "";//sql语句 List resultList=getHibernateTemplate().executeFind(new HibernateCallback() { public List doInHibernate(Session session) throws HibernateException, SQLException { SQLQuery sqlQuery = session.createSQLQuery(queryString); List list=sqlQuery.executeUpdate(); return list; } });3).无返回结果: final String queryString = "";//SQL语句 getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { SQLQuery sqlQuery = session.createSQLQuery(queryString); sqlQuery.executeUpdate(); return null; } });。

4. hibernate查询语言

1 .from 1.1单表查询 from eg.cat as cat.其中,cat只是一个别名,为了用其他子语句的时候书写简单 1.2多表查询 from eg.Cat,eg.Dog from eg.Cat as cat,eg.Dog as dog 2 join相关 (inner) join left (outer) join right (outer) join full join HQL同样对SQL中的这些特性支持 下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想 把上边的几个特性的用法说一下,也算对自己的一个补充: 假设有两个表:部门、员工,下面列举一些数据: 员工(Employee): ID Name DepNo 001 Jplateau 01 002 Jony 01 003 Camel 02 部门(Department): ID Name 01 研发部 02 营销部 在Hibernate中我们操纵的都是对象,所以我们操纵的是部门类和员工类 1).(inner) join select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 from Employee as employee join Department as department on employee.DepNo= department.ID (注意到条件语句我用on 没有用where) 那么执行结果是什么呢? id1 name1 id2 name2 ++++++++++++++++++++++++++++++++++++++ 001 Jplateau 01 研发部 002 Jony 01 研发部 2).left (outer) join select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 from Employee as employee left join Department as department on employee.DepNo= department.ID 那么执行结果又该是什么呢? id1 name1 id2 name2 ++++++++++++++++++++++++++++++++++++++ 001 Jplateau 01 研发部 002 Jony 01 研发部 003 Camel null null {就是说此时我要已第一个表的记录多少为准,第二个表中没有相应纪录的时候填充null} 3). right (outer) join select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 from Employee as employee right join Department as department on employee.DepNo= department.ID 那么执行结果又该是什么呢? id1 name1 id2 name2 ++++++++++++++++++++++++++++++++++++++ 001 Jplateau 01 研发部 002 Jony 01 研发部 null null 02 营销部 {就是说此时我要已第二个表的记录多少为准,第一个表中没有相应纪录的时候填充null} 3 大小写敏感 4。

select语句 就是要确定你要从查询中返回哪些对象或者哪些对象的属性。写几个例子吧: select employee form Employee as employee select employee form Employee as employee where employee.Name like 'J%' select employee.Name form Employee as employee where employee.Name like 'J%' select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 from Employee as employee right join Department as department on employee.DepNo= department.ID select elements(employee.Name) from Employee as employee (不明白elements到底是做什么用的?望给于说明) 等等 5。

数学函数 JDO目前好像还不支持此类特性。 avg(。

), sum(。), min(。

), max(。) count(*) count(。

), count(distinct 。), count(all。

) 其用法和SQL基本相同 select distinct employee.name from Employee as employee select count(distinct employee.name),count(employee) from Employee as employee 6。polymorphism (暂时不知道如何解释?) from com.test.Animal as animal 不光得到所有Animal得实例,而且可以得到所有Animal的子类(如果我们定义了一个子类Cat) 一个比较极端的例子 from java.lang.Object as o 可以得到所有持久类的实例 7。

where语句 定义查询语句的条件,举几个例子吧: from Employee as employee where employee.Name='Jplateau' from Employee as employee where employee.Name like 'J%' from Employee as employee where employee.Name like '%u' 在where语句中“=”不光可以比较对象的属性,也可以比较对象,如: select animal from com.test.Animal as animal where animal.name=dog 8。表达式 在SQL语句中大部分的表达式在HQL中都可以使用: mathematical operators +, -, *, / binary comparison operators =, >=, <=, <>, !=, like logical operations and, or, not string concatenation || SQL scalar functions like upper() and lower() Parentheses ( ) indicate grouping in, between, is null JDBC IN parameters ? named parameters :name, :start_date, :x1 (这种应该是另一种"?"的变通解决方法) SQL literals 'foo', 69, '1970-01-01 10:00:01.0' Java public static final constants eg.Color.TABBY 其他不必解释了,在这里我只想对查询中的参数问题说明一下: 大家知道在SQL中进行传递参数进行查询的时候,我们通常用PreparedStatement,在语句中写一大堆的“?”, 在hql中也可以用这种方法,如: List mates = sess.find( "select employee.name from Employee as employee " + "where employee.Name=? ", name, Hibernate.STRING ); (说明:上面利用Session里的find方法,在hibernate的api Session中重载了很多find方法,它可以满。

hibernatehql语句怎么写

1. 用hibernate的HQL怎么写一个插入语句

不是有映射文件吗?

比如你的数据库表为student

那么的你就应该有hibernate.cfg.xml配置文件和他的映射文件hibernate.hbm.xml,最后还应该有一个student表的映射类student.java

这3个文件.

然后你建一个实现类studentInsert

实现是

SessionFactory sf = new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

student st=new student();

st.setId("0001");

st.setUserName("Wang");

st.setpassWord("123");

session.save(st);

tx.commit();

session.close();

就是这样.

2. hibernate hql语句

你的HQL语句写的有问题:

1、在select PetInfo from PetInfo as p order by (p.petStrength+p.petCute+p.petLove)语句中,PetInfo不知道是什么,如果想查这个表的所有字段,那么前面的"select PetInfo "都可以不要;如果PetInfo是表中的某个字段名的话,可以用select new map(p.PetInfo as PetInfo)

2、在order by (p.petStrength+p.petCute+p.petLove)语句中,(p.petStrength+p.petCute+p.petLove)不应该这样写,直接写成:

order by p.petStrength,p.petCute,p.petLove

所以整个HQL可以写成:

from PetInfo as p order by p.petStrength,p.petCute,p.petLove

select new map(p.PetInfo as PetInfo) from PetInfo as p order by p.petStrength,p.petCute,p.petLove

============================================

根据你后来的补充,你的HQL语句可以写成如下方式:

select p.*,(p.petStrength+p.petCute+p.petLove) as ord from PetInfo as p order by ord

3. 求写一条hibernate的hql语句

再套一层,select * from Tbobject where order_id in (。.你的一列数据)

HQL这样写

select * from TbOrder where t.id.orderId in (select distinct t.id.orderId from TbOrder t where t.tbViperson.viCardno=1)

-------------------------貌似不对奥----------

这样,我以前SQL语句这样写过,

select distinct t.id.orderId ,max(列1),max(列2),max(列3) from TbOrder t where t.tbViperson.viCardno=1

4. 用hibernate的HQL怎么写一个插入语句

不是有映射文件吗?比如你的数据库表为student那么的你就应该有hibernate.cfg.xml配置文件和他的映射文件hibernate.hbm.xml,最后还应该有一个student表的映射类student.java这3个文件.然后你建一个实现类studentInsert实现是SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); student st=new student(); st.setId("0001"); st.setUserName("Wang"); st.setpassWord("123"); session.save(st); tx.commit(); session.close();就是这样。

5. hql语句怎么写

String hql="from 类名 where app=6 AND pro_read_flag=FALSE";

Query query=session.createQuery(hql);

或者

String hql="from 类名 where app=? AND pro_read_flag=?";

Query query=session.createQuery(hql);

query.setParameter(0,6);

query.setParameter(1,false);

6. 求写一条hibernate的hql语句

再套一层,select * from Tbobject where order_id in (。

.你的一列数据)HQL这样写select * from TbOrder where t.id.orderId in (select distinct t.id.orderId from TbOrder t where t.tbViperson.viCardno=1)-------------------------貌似不对奥----------这样,我以前SQL语句这样写过,select distinct t.id.orderId ,max(列1),max(列2),max(列3) from TbOrder t where t.tbViperson.viCardno=1。

7. hibernate 一对多update操作的hql语句怎么写

可以用多表关联,在myeclipes中添加Hibernate支持后反向生成实体类文件,在实体类文件中该:学生对学校是多对一操作,在student.Java中的学校id关联去掉,添加school类型的实例和get和set,在student.hbm.xml中删除相关的学生id关联,添加相应的映射。

而在school。java中,添加Set stus = new HashSet() 并且相应的get以及set,在school.hbm.xml中添加相应的映射。

并且设置类型为save-update或者是all或者delete,然后再重新编译,这两个hbm。xml文件要跟相应的。

class文件放在同一包中。

hql的查询语句怎么写

1. 查询的 hql 语句这样写对吗

String hql = "from Denglu denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();Denglu类必须和数据库表对应, 有个问题,你这里的denglu 是为什么写这?为了传name和pwd吗?如果不是可以不要,如下:String hql = "from Denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();从你的代码上看,后台好像没问题,是不是前台问题,没传过来值?会断点调试吗?不会就直接 System.out.print看看denglu.getUsername() 和denglu.getPassword()传的对不对。

2. 查询的 hql 语句这样写对吗

String hql = "from Denglu denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();

Denglu类必须和数据库表对应, 有个问题,你这里的denglu 是为什么写这?为了传name和pwd吗?如果不是可以不要,如下:

String hql = "from Denglu where firstname= " + denglu.getUsername() + " and lastname= " + denglu.getPassword();

从你的代码上看,后台好像没问题,是不是前台问题,没传过来值?

会断点调试吗?不会就直接 System.out.print看看denglu.getUsername() 和denglu.getPassword()传的对不对。

hibernate语句怎么写

1. hibernate添加语句怎么写

不是有映射文件吗?

比如你的数据库表为student

那么的你就应该有hibernate.cfg.xml配置文件和他的映射文件hibernate.hbm.xml,最后还应该有一个student表的映射类student.java

这3个文件.

然后你建一个实现类studentInsert

实现是

SessionFactory sf = new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

student st=new student();

st.setId("0001");

st.setUserName("Wang");

st.setpassWord("123");

session.save(st);

tx.commit();

session.close();

就是这样.

2. hibernate基本语句怎么操作

你既然用了hibernate就用第一种写法,

用第二种写法和不用hibernate有啥区别,不用hibernate就是要先开Connection然后开事物,保存,提交事物,然后关闭连接

你既然用了hibernate就完全不用用第二种方法,因为这些操作在getHibernateTemplate().save();里都已经封装好了,如果你非要用下面的写法也没办法,不是不行,只是跟只用jdbc有什么区别

hibernate3没有用过,但是如果没有find的话hibernate也是很好用的,抛开criteria不说

hql:

集合:this.getSession().createQuery("hql语句").list();

单一结果:this.getSession().createQuery("hql语句")uniqueResult();

有参数this.getSession().createQuery("hql语句").setString(0,"xxx").setString(1,"xxx").list();

sql:

this.getSession().createSqlQuery("sql语句")

其他一样

3. hql语句怎么写

String hql="from 类名 where app=6 AND pro_read_flag=FALSE";

Query query=session.createQuery(hql);

或者

String hql="from 类名 where app=? AND pro_read_flag=?";

Query query=session.createQuery(hql);

query.setParameter(0,6);

query.setParameter(1,false);

转载请注明出处育才学习网 » hibernate的hql语句怎么写

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21446)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10466)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9545)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7783)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9622)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8024)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(8028)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7022)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6551)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7142)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5419)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5847)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6532)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5448)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7614)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及