2012-01-02 3 views
0

Участник форума stackoverflow Мне нужна помощь от вас. Я не могу вставить свой JPA POJO Object в свою БД.Невозможно вставить данные с помощью шаблона Hibernate на сервер mysql

мой JPA POJO является

private Integer taskId; 
private Integer taskDepth; 
private Double taskDuration; 
private String taskDurationUnit; 
private Date taskEndDate; 
private Integer taskIndex; 
private String taskName; 
private Integer taskParentId; 
private Integer taskPercentDone; 
private Integer taskPriority; 
private Date taskStartDate; 

public Task() { 
} 

public Task(Integer taskDepth, Double taskDuration, 
     String taskDurationUnit, Date taskEndDate, Integer taskIndex, 
     String taskName, Integer taskParentId, Integer taskPercentDone, 
     Integer taskPriority, Date taskStartDate) { 
    this.taskDepth = taskDepth; 
    this.taskDuration = taskDuration; 
    this.taskDurationUnit = taskDurationUnit; 
    this.taskEndDate = taskEndDate; 
    this.taskIndex = taskIndex; 
    this.taskName = taskName; 
    this.taskParentId = taskParentId; 
    this.taskPercentDone = taskPercentDone; 
    this.taskPriority = taskPriority; 
    this.taskStartDate = taskStartDate; 
} 

@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name = "TASK_Id", unique = true, nullable = false) 
public Integer getTaskId() { 
    return this.taskId; 
} 

public void setTaskId(Integer taskId) { 
    this.taskId = taskId; 
} 

@Column(name = "TASK_Depth") 
public Integer getTaskDepth() { 
    return this.taskDepth; 
} 

public void setTaskDepth(Integer taskDepth) { 
    this.taskDepth = taskDepth; 
} 

@Column(name = "TASK_Duration", precision = 22, scale = 0) 
public Double getTaskDuration() { 
    return this.taskDuration; 
} 

public void setTaskDuration(Double taskDuration) { 
    this.taskDuration = taskDuration; 
} 

@Column(name = "TASK_DurationUnit") 
public String getTaskDurationUnit() { 
    return this.taskDurationUnit; 
} 

public void setTaskDurationUnit(String taskDurationUnit) { 
    this.taskDurationUnit = taskDurationUnit; 
} 

@Temporal(TemporalType.DATE) 
@Column(name = "TASK_End_Date", length = 10) 
public Date getTaskEndDate() { 
    return this.taskEndDate; 
} 

public void setTaskEndDate(Date taskEndDate) { 
    this.taskEndDate = taskEndDate; 
} 

@Column(name = "TASK_Index") 
public Integer getTaskIndex() { 
    return this.taskIndex; 
} 

public void setTaskIndex(Integer taskIndex) { 
    this.taskIndex = taskIndex; 
} 

@Column(name = "TASK_Name") 
public String getTaskName() { 
    return this.taskName; 
} 

public void setTaskName(String taskName) { 
    this.taskName = taskName; 
} 

@Column(name = "TASK_ParentId") 
public Integer getTaskParentId() { 
    return this.taskParentId; 
} 

public void setTaskParentId(Integer taskParentId) { 
    this.taskParentId = taskParentId; 
} 

@Column(name = "TASK_Percent_Done") 
public Integer getTaskPercentDone() { 
    return this.taskPercentDone; 
} 

public void setTaskPercentDone(Integer taskPercentDone) { 
    this.taskPercentDone = taskPercentDone; 
} 

@Column(name = "TASK_Priority") 
public Integer getTaskPriority() { 
    return this.taskPriority; 
} 

public void setTaskPriority(Integer taskPriority) { 
    this.taskPriority = taskPriority; 
} 

@Temporal(TemporalType.DATE) 
@Column(name = "TASK_Start_Date", length = 10) 
public Date getTaskStartDate() { 
    return this.taskStartDate; 
} 

public void setTaskStartDate(Date taskStartDate) { 
    this.taskStartDate = taskStartDate; 
} 

Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property Name:java.lang.String to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property StartDate:java.lang.String to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property EndDate:java.lang.String to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property Duration:java.lang.Integer to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property DurationUnit:java.lang.String to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property PercentDone:java.lang.Integer to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property Priority:java.lang.Integer to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property parentId:java.lang.Integer to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property index:java.lang.Integer to bean of class com.gantt.model.Task Jan 2, 2012 2:09:15 PM net.sf.json.JSONObject toBean WARNING: Tried to assign property depth:java.lang.Integer to bean of class com.gantt.model.Task

Я генерироваться мой JPA POJO с использованием Hibernate Reverse Engineering. Невозможно понять, в чем проблема с моим объектом JPA POJO.

мой JSON объект Я передаю это { "Name": "Final New task", "StartDate": "2012-01-02T00:00:00", "EndDate": "2012-01-06T00:00:00", "Duration": 4, "DurationUnit": "d", "PercentDone": 5, "Priority": 1, "parentId": 3, "index": 1, "depth": 3 }

До сих пор не в состоянии отобразить мой объект JSON в JPA POJO объекта и всегда выше ошибка возникает. Возникает проблема с типом данных JSONObject и типом данных JPA POJO Object.

У кого-нибудь есть решение этой проблемы, пожалуйста, помогите мне решить проблему.

Я использую Hibernate JPA для взаимодействия с моей базой данных.

Йогендра Сингх старший программист Kintudesigns.com

+0

Dup of http://stackoverflow.com/questions/8697921/how-to-assign-json-object-to-hibernate-pojo-ext-js-4-java-spring. Зачем добавлять новые проблемы для одного и того же? Просто пересмотрите свой исходный пост – DataNucleus

ответ

0

Код POJO является неполным, ему не хватает класса заголовка и @Entity аннотацию. Наверное, это было плохо вклеено.

+0

, я добавил аннотацию @Entity в верхней части класса, так что это не большая проблема, но может быть проблема с преобразованием типа данных jsonobject в Hibernate JPA pojo. – yaryan997

0

Вы уверены, что имя поля таблицы «TASK_Name», «TASK_Start_Date», «TASK_End_Date» и т. Д.? Разве они просто не называются «Имя», «Старт_Дата», «Конец_Дата»? Если это так, то имя свойства аннотации @Column будет неправильным.

+0

спасибо за ответ, но «TASK_Name», «TASK_Start_Date», «TASK_End_Date» являются столбцами таблицы базы данных, которые создаются с использованием JPA, а мой класс POJO имеет «taskName», «taskEndDate», «taskStartDate». так в чем проблема ?? – yaryan997

+0

Я вижу, но тогда объект JSON, который вы передаете, имеет свойства с именами «Name», «StartDate» и т. Д. Не предупреждают ли предупреждения, что сеттеры не могут быть найдены? – Pablo

0

Собственно предупреждающие сообщения, которые видны не является проблемой, когда вы используете эту библиотеку

для разбора JSON в Java Objects, но они не являются ошибками. Теперь, почему объекты не сохраняются до

База данных - проблема с Hibernate. Нет проблем с классом Entity, который вы используете.

Посмотрите на файлы конфигурации. Если есть проблемы с гибернацией, тогда для этого необходимо иметь некоторые журналы вывода ошибок.

+0

фактически, когда я вставляю запись, используя Task newTask = (Задача) JSONObject.toBean (jsonObject, Task.class); где Task - мой класс, а jsonObject - это мои данные JSONObject, определенные выше. Я получаю ошибку ** '2 января 2012 2:09:15 PM net.sf.json.JSONObject toBean ПРЕДУПРЕЖДЕНИЕ: Пытался присвоить свойство Name: java.lang.String bean класса com.gantt.model.Задача 2 января 2012 г. 2:09:15 PM net.sf.json.JSONObject toBean ПРЕДУПРЕЖДЕНИЕ: Пытался назначить свойство StartDate: java.lang.String для bean класса com.gantt.model.Task' ** Я знаю проблему обусловлено литьем типа, но не может найти решение. – yaryan997

Смежные вопросы