2013-11-20 6 views
0

У меня есть приложение Play Framework 1.2.7 с буквально 2-мя моделями, курсами и департаментами. В кафедрах много курсов, курс относится к 1 отделению. Когда я пытаюсь создать отдел, я получаю эту ошибку, PersistenceException occured : org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch updatePersistenceException: org.hibernate.exception.ConstraintViolationException: не удалось выполнить пакетное обновление JDBC

Вот мой курс Модель

package models; 

import javax.persistence.Entity; 
import javax.persistence.Lob; 
import javax.persistence.ManyToOne; 
import javax.persistence.OneToMany; 

import play.db.jpa.Model; 

@Entity 
public class Course extends Model { 
public String CourseName; 
public String CourseCode; 

@Lob 
public String CourseDescription; 

@ManyToOne 
public Department department; 
public Course(String CourseName, String CourseCode, String CourseDescription, Department department){ 
    this.CourseName = CourseName; 
    this.CourseCode = CourseCode; 
    this.CourseDescription = CourseDescription; 
    this.department = department; 
} 
} 

А вот мой отдел Model

package models; 

import java.util.List; 

import javax.persistence.Entity; 
import javax.persistence.OneToMany; 

import play.db.jpa.Model; 

@Entity 
public class Department extends Model { 
String DepartmentName; 
String DepartmentCode; 

@OneToMany 
List<Course> courses; 

public Department(String DepartmentName, String DepartmentCode){ 
    this.DepartmentName = DepartmentName; 
    this.DepartmentCode = DepartmentCode; 
} 
public void addCourse(Course course){ 
    this.courses.add(course); 
    this.save(); 
} 
} 
+0

Показать код, который создает и сохраняет записи. –

+0

На самом деле я получил это, чтобы работать. Я удалил базу данных и создал новую, никаких изменений в моем коде и не сработал. – nupac

ответ

0

Последние обновления, сделанные в вашей классы не повлияли на вашу базу данных. Вам пришлось удалить переменные в своем классе. Код верный, но в вашей базе данных нет необходимости обновлять автоматически. Вот почему у вас есть эта ошибка. В качестве решения: Откройте базу данных, указанную в ваших таблицах. Отдел & Курс удаляет столбцы, которые превышены.

я уже имел эту проблему с Postgres

PS: Мой английский не слишком правильно, потому что я использую Google Translate.

+0

Очень сложно понять, что вы имеете в виду. Я не уверен, что этот ответ полезен вообще. –

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