@Test
public void HQ_1() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where t.msgs is empty")
List<Topic> topcis=(List<Topic>)q.list()
for(Topic t:topcis){
System.out.println(t.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_2() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where t.name like '%5'")
List<Topic> topcis=(List<Topic>)q.list()
for(Topic t:topcis){
System.out.println(t.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_3() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where t.name like '_5'")
List<Topic> topcis=(List<Topic>)q.list()
for(Topic t:topcis){
System.out.println(t.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_4() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("select lower(t.name),upper(t.name),trim(t.name),concat(t.name,'***'),length(t.name) from Topic t")
List<Object[]> objs=(List<Object[]>)q.list()
for(Object[] obj:objs){
System.out.println(obj[0]+"--"+obj[1]+"--"+obj[2]+"--"+obj[3]+"--"+obj[4])
}
session.getTransaction().commit()
}
@Test
public void HQ_5() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("select abs(t.id),sqrt(t.id),mod(t.id,2) from Topic t")
List<Object[]> topics=(List<Object[]>)q.list()
for(Object[] obj:topics){
System.out.println(obj[0]+"--"+obj[1]+"--"+obj[2])
}
session.getTransaction().commit()
}
@Test
public void HQ_6() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("select current_date,current_time,current_timestamp,t.id from Topic t")
List<Object[]> ts=(List<Object[]>)q.list()
for(Object[] obj:ts){
System.out.println(obj[0]+"--"+obj[1]+"--"+obj[2])
}
session.getTransaction().commit()
}
@Test
public void HQ_7() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("select t.name,count(*) from Topic t group by t.name")
List<Object[]> ts=(List<Object[]>)q.list()
for(Object[] obj:ts){
System.out.println(obj[0]+"--"+obj[1])
}
session.getTransaction().commit()
}
@Test
public void HQ_8() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("select t.name,count(*) from Topic t group by t.name having count(*)>=2")
List<Object[]> categories=(List<Object[]>)q.list()
for(Object[] o:categories){
System.out.println(o[0]+"---"+o[1])
}
session.getTransaction().commit()
}
@Test
public void HQ_9() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where t.id <(select avg(t.id) from Topic t)")
List<Topic> topics=(List<Topic>)q.list()
for(Topic c:topics){
System.out.println(c.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_10() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where t.id <ALL(select t.id from Topic t where mod(t.id,2)=0)")
List<Topic> topics=(List<Topic>)q.list()
for(Topic m:topics){
System.out.println(m.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_11() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("from Topic t where not exists(select m.id from Msg m where m.topic.id=t.id)")
List<Topic> topics=(List<Topic>)q.list()
for(Topic t:topics){
System.out.println(t.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_12() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createQuery("update Topic t set t.name=upper(t.name)")
q.executeUpdate()
q=session.createQuery("from Topic")
List<Topic> topics=(List<Topic>)q.list()
for(Topic t:topics){
System.out.println(t.getName())
}
session.getTransaction().commit()
}
@Test
public void HQ_13() {
Session session=sf.getCurrentSession()
session.beginTransaction()
Query q=session.createSQLQuery("select * from category limit 2,4").addEntity(Category.class)
List<Category> cas=q.list()
for(Category c:cas){
System.out.println(c.getName())
}
session.getTransaction().commit()
}