1. #1
    Sencha User
    Join Date
    Apr 2011
    Posts
    126
    Vote Rating
    0
    rushi2440 is on a distinguished road

      0  

    Thumbs up Unanswered: How to assign JSON Object to Hibernate Pojo + ext js 4 + Java + spring

    Unanswered: How to assign JSON Object to Hibernate Pojo + ext js 4 + Java + spring


    HI.. sencha forum member I need one support from you.

    I am getting my JSON value on server side as
    Code:
    "Id": null,
        "Name": "New task",
        "StartDate": "2010-02-03T05:30:00",
        "EndDate": "2010-02-04T05:30:00",
        "Duration": 1,
        "DurationUnit": "d",
        "PercentDone": 0,
        "ManuallyScheduled": false,
        "Priority": 1,
        "parentId": 8,
        "index": 0,
        "depth": 3,
        "checked": null
    my Task. POJO class is
    Code:
    @JsonAutoDetect
    @Entity
    @Table(name = "TASK")
    public class Task {
        
        private int Id;
        private Date StartDate;
        private Date EndDate;
        private int PercentDone;
        private String Name;
        private int Priority;
        private double Duration;
        private String DurationUnit;
        private int index;
        private int depth;
        private int parentId;
        
        /**
         * @return the id
         */
        @Id
        @GeneratedValue
        @Column(name = "TASK_Id")
        @JsonProperty("Id")
        public int getId() {
            return Id;
        }
        /**
         * @param id the id to set
         */
        public void setId(int Id) {
            this.Id = Id;
        }
        
        /**
         * @return the startDate
         */
        @Temporal(TemporalType.DATE)
        @Column(name = "TASK_Start_Date")
        @JsonProperty("StartDate")
        public Date getStartDate() {
            return StartDate;
        }
        /**
         * @param startDate the startDate to set
         */
        public void setStartDate(Date StartDate) {
            this.StartDate = StartDate;
        }
        
        /**
         * @return the endDate
         */    
        @Temporal(TemporalType.DATE)
        @Column(name = "TASK_End_Date")
        @JsonProperty("EndDate")
        public Date getEndDate() {
            return EndDate;
        }
        /**
         * @param endDate the endDate to set
         */
        public void setEndDate(Date EndDate) {
            this.EndDate = EndDate;
        }
        
        /**
         * @return the percentDone
         */    
        @Column(name = "TASK_Percent_Done")
        @JsonProperty("PercentDone")
        public int getPercentDone() {
            return PercentDone;
        }
        /**
         * @param percentDone the percentDone to set
         */
        public void setPercentDone(int PercentDone) {
            this.PercentDone = PercentDone;
        }
        
        /**
         * @return the name
         */
        @Column(name = "TASK_Name")
        @JsonProperty("Name")
        public String getName() {
            return Name;
        }
        /**
         * @param name the name to set
         */
        public void setName(String Name) {
            this.Name = Name;
        }
        
        /**
         * @return the priority
         */
        @Column(name = "TASK_Priority")
        @JsonProperty("Priority")
        public int getPriority() {
            return Priority;
        }
        /**
         * @param priority the priority to set
         */
        public void setPriority(int Priority) {
            this.Priority = Priority;
        }
        
        /**
         * @return the duration
         */
        @Column(name = "TASK_Duration")
        @JsonProperty("Duration")
        public double getDuration() {
            return Duration;
        }
        /**
         * @param duration the duration to set
         */
        public void setDuration(double Duration) {
            this.Duration = Duration;
        }
        
        /**
         * @return the durationUnit
         */
        @Column(name = "TASK_DurationUnit")
        @JsonProperty("DurationUnit")
        public String getDurationUnit() {
            return DurationUnit;
        }
        /**
         * @param durationUnit the durationUnit to set
         */
        public void setDurationUnit(String DurationUnit) {
            this.DurationUnit = DurationUnit;
        }
        
        /**
         * @return the index
         */
        @Column(name = "TASK_Index")
        @JsonProperty("index")
        public int getIndex() {
            return index;
        }
        /**
         * @param index the index to set
         */
        public void setIndex(int index) {
            this.index = index;
        }
        
        /**
         * @return the depth
         */
        @Column(name = "TASK_Depth")
        @JsonProperty("depth")
        public int getDepth() {
            return depth;
        }
        /**
         * @param depth the depth to set
         */
        public void setDepth(int depth) {
            this.depth = depth;
        }
        
        /**
         * @return the parentId
         */
        @Column(name = "TASK_ParentId")
        @JsonProperty("parentId")
        public int getParentId() {
            return parentId;
        }
        /**
         * @param parentId the parentId to set
         */
        public void setParentId(int parentId) {
            this.parentId = parentId;
        }    
    }
    I am assigning the received JSON object value to my POJO, but something is wrong that I am not able to do so.

    To assign JSON Object to POJO, I am using
    Code:
    JSONObject jsonObject = JSONObject.fromObject(data);
    System.out.println("JSON OBJECT ::"+jsonObject+"::"+Task.class);
    Task newTask = (Task) JSONObject.toBean(jsonObject, Task.class);
    I am able to print my Json Object correctly, but don't know why it is not getting assigned to my Task model.

    Help me to find the mistake I am to do my work, so my Task get persisted to database

    Yogendra Singh
    Sr. Programmer
    Kintudesigns.com

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    St. Louis, MO
    Posts
    33,684
    Vote Rating
    435
    Answers
    3111
    mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of

      0  

    Default


    So what in Ext JS 4 is wrong?
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    http://www.JSONPLint.com - Source to lint your JSONP!

    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha User
    Join Date
    Apr 2011
    Posts
    126
    Vote Rating
    0
    rushi2440 is on a distinguished road

      0  

    Thumbs up Not able to insert record to database using Hibernate + JPA

    Not able to insert record to database using Hibernate + JPA


    hi...
    mitchellsimoens

    One problem i am facing is that i am not able to insert my data to database using Hibernate + JPA.
    I am sending the data to server side using JSON and then this object interact with database and insert the json object to the database.

    I am sending the json data as
    Code:
    [{
        "Id": null,
        "Name": "New task",
        "StartDate": "2010-02-13T05:30:00",
        "EndDate": "2010-02-13T05:30:00",
        "Duration": 0,
        "DurationUnit": "d",
        "PercentDone": 0,
        "ManuallyScheduled": false,
        "Priority": 1,
        "parentId": 22,
        "index": 2,
        "depth": 2,
        "checked": null
    }]
    my Hibernate POJO is
    Code:
    @JsonAutoDetect
    @Entity
    @Table(name = "TASK")
    public class Task {
        
        private int id;
        private Date startDate;
        private Date endDate;
        private int percentDone;
        private String name;
        private int priority;
        private double duration;
        private String durationUnit;
        private int index;
        private int depth;
        private int parentId;
        
        /**
         * @return the id
         */
        @Id
        @GeneratedValue
        @Column(name = "TASK_Id")
        public int getId() {
            return id;
        }
        /**
         * @param id the id to set
         */
        public void setId(int Id) {
            this.id = Id;
        }
        
        /**
         * @return the startDate
         */
        @Temporal(TemporalType.DATE)
        @Column(name = "TASK_Start_Date")
        public Date getStartDate() {
            return startDate;
        }
        /**
         * @param startDate the startDate to set
         */
        public void setStartDate(Date StartDate) {
            this.startDate = StartDate;
        }
        
        /**
         * @return the endDate
         */    
        @Temporal(TemporalType.DATE)
        @Column(name = "TASK_End_Date")
        public Date getEndDate() {
            return endDate;
        }
        /**
         * @param endDate the endDate to set
         */
        public void setEndDate(Date EndDate) {
            this.endDate = EndDate;
        }
        
        /**
         * @return the percentDone
         */    
        @Column(name = "TASK_Percent_Done")
        public int getPercentDone() {
            return percentDone;
        }
        /**
         * @param percentDone the percentDone to set
         */
        public void setPercentDone(int PercentDone) {
            this.percentDone = PercentDone;
        }
        
        /**
         * @return the name
         */
        @Column(name = "TASK_Name")
        public String getName() {
            return name;
        }
        /**
         * @param name the name to set
         */
        public void setName(String Name) {
            this.name = Name;
        }
        
        /**
         * @return the priority
         */
        @Column(name = "TASK_Priority")
        public int getPriority() {
            return priority;
        }
        /**
         * @param priority the priority to set
         */
        public void setPriority(int Priority) {
            this.priority = Priority;
        }
        
        /**
         * @return the duration
         */
        @Column(name = "TASK_Duration")
        public double getDuration() {
            return duration;
        }
        /**
         * @param duration the duration to set
         */
        public void setDuration(double Duration) {
            this.duration = Duration;
        }
        
        /**
         * @return the durationUnit
         */
        @Column(name = "TASK_DurationUnit")
        public String getDurationUnit() {
            return durationUnit;
        }
        /**
         * @param durationUnit the durationUnit to set
         */
        public void setDurationUnit(String DurationUnit) {
            this.durationUnit = DurationUnit;
        }
        
        /**
         * @return the index
         */
        @Column(name = "TASK_Index")
        public int getIndex() {
            return index;
        }
        /**
         * @param index the index to set
         */
        public void setIndex(int index) {
            this.index = index;
        }
        
        /**
         * @return the depth
         */
        @Column(name = "TASK_Depth")
        public int getDepth() {
            return depth;
        }
        /**
         * @param depth the depth to set
         */
        public void setDepth(int depth) {
            this.depth = depth;
        }
        
        /**
         * @return the parentId
         */
        @Column(name = "TASK_ParentId")
        public int getParentId() {
            return parentId;
        }
        /**
         * @param parentId the parentId to set
         */
        public void setParentId(int parentId) {
            this.parentId = parentId;
        }    
    }
    when i am passing the above JSON data nothing get inserted to my database.
    my hibernate query fires like
    Code:
    Hibernate: insert into TASK(TASK_Depth, TASK_Duration, TASK_DurationUnit, TASK_End_Date, TASK_Index, TASK_Name, TASK_ParentId, TASK_Percent_Done, TASK_Priority, TASK_Start_Date)
        values( ? , ?, ?, ?, ?, ?, ?, ?, ?, ?)
    nothing get inserted to my database. As my class id is autoincreemented the record gets created with empty name, startDate, endDate, parentId


    So my question is that what the things i am doing wrong. Is there any problem with my hibernate Pojo mappings . If yes then any one having solution to this problem may reply to my thread.

    Yogendra Singh
    Sr. Programmer
    Kintudesigns.com

Tags for this Thread