i have 2 table
category

events

in table
categoryfirst 5category_namemain category.according 5 have fetch result.for example if user giving1input first need sortcategory_idhaveparent_category_id 1incategory table.in examplecategory_id 6,7,8,9,10because haveparent_category_id 1.next , see in
events tablehave field namecategory_id. have resultcategorycategory_idie , category_id6,7,8,9,10.i have fetch records
events tablecategory_idmatching result gotcategory table.
confusion ?????????
see below snap shot query , result
this result got because in
event tablehave recordscategory_id 6 , 7.my query doing job,
select * category c inner join `events` e on e.category_id=c.category_id c.parent_category_id=1; the problem have integrate query
hibernate, should respondspring restful web servicejsonformat follows towards client.if user giving input parameter
1output should json follows or in standard format that
events { infotech[ {event_id:1,event_name:java_workshop},{event_id:2,event_name:java_workshop},...... ], socia[ {event_id:1,event_name:java_workshop},{event_id:2,event_name:java_workshop},... ],...... } i done simple json conversions in spring adding json library spring restful web service.
now , hold json conversion , please me fetch records mentioned ?
and far codes
events entity class hibernate mapping
import java.io.serializable; import java.util.date; import javax.persistence.*; /** * persistent class user database table. * */ @entity @table(name = "events") public class events implements serializable { private static final long serialversionuid = 1l; @id @generatedvalue(strategy = generationtype.identity) @column(name = "event_id") private int eventid; @column(name = "event_name") private string eventname; @column(name = "event_description") private string eventdescription; @column(name = "category_id") private integer categoryid; @column(name = "is_trending_event") private integer istrendingevent; @column(name = "image_url") private string imageurl; private integer status; @column(name = "created_date") @temporal(javax.persistence.temporaltype.date) private date createddate; @column(name = "last_updated_date") @temporal(javax.persistence.temporaltype.date) private date lastupdateddate; public date getcreateddate() { return createddate; } public void setcreateddate(date createddate) { this.createddate = createddate; } public date getlastupdateddate() { return lastupdateddate; } public void setlastupdateddate(date lastupdateddate) { this.lastupdateddate = lastupdateddate; } public int geteventid() { return eventid; } public void seteventid(int eventid) { this.eventid = eventid; } public string geteventname() { return eventname; } public void seteventname(string eventname) { this.eventname = eventname; } public string geteventdescription() { return eventdescription; } public void seteventdescription(string eventdescription) { this.eventdescription = eventdescription; } public integer getcategoryid() { return categoryid; } public void setcategoryid(integer categoryid) { this.categoryid = categoryid; } public integer getistrendingevent() { return istrendingevent; } public void setistrendingevent(integer istrendingevent) { this.istrendingevent = istrendingevent; } public string getimageurl() { return imageurl; } public void setimageurl(string imageurl) { this.imageurl = imageurl; } public integer getstatus() { return status; } public void setstatus(integer status) { this.status = status; } } category entity
import java.io.serializable; import java.util.date; import javax.persistence.*; /** * persistent class user database table. * */ @entity @table(name = "category") public class category implements serializable { private static final long serialversionuid = 1l; @id @generatedvalue(strategy = generationtype.identity) @column(name = "category_id") private int categoryid; @column(name = "category_name") private string categoryname; @column(name = "parent_category_id") private integer parentcategoryid; @column(name = "created_date") @temporal(javax.persistence.temporaltype.date) private date createddate; @column(name = "last_updated_date") @temporal(javax.persistence.temporaltype.date) private date lastupdateddate; public int getcategoryid() { return categoryid; } public void setcategoryid(int categoryid) { this.categoryid = categoryid; } public string getcategoryname() { return categoryname; } public void setcategoryname(string categoryname) { this.categoryname = categoryname; } public integer getparentcategoryid() { return parentcategoryid; } public void setparentcategoryid(integer parentcategoryid) { this.parentcategoryid = parentcategoryid; } public date getcreateddate() { return createddate; } public void setcreateddate(date createddate) { this.createddate = createddate; } public date getlastupdateddate() { return lastupdateddate; } public void setlastupdateddate(date lastupdateddate) { this.lastupdateddate = lastupdateddate; } } fetch category method
public list<object[]> getcategorylist(int id) throws sqlexception, classnotfoundexception, ioexception { list<object[]> grouplist = null; try { session session = sessionfactory.getcurrentsession(); query query = session.createquery("from category c inner join events e on e.categoryid=c.categoryid c.parentcategoryid= :id"); query.setparameter("id", id); grouplist = query.list(); } catch (exception e) { } return grouplist; } how should write hql query ? , send result client in standard json format using spring restful web service ? me friends.
- dealing hql directly not nice. might wanna jooq or querydsl creating type-safe queries.
- for json conversion, example this answer here or create wrapping class, maps category entities associated events , use 1 of many tutorials out there, this.
Comments
Post a Comment