Java GAE JPA嵌入式注释问题

Java GAE JPA嵌入式注释问题,java,google-app-engine,jpa,datanucleus,Java,Google App Engine,Jpa,Datanucleus,好的,我有一个实体学校 @Entity public class School implements Serializable { private static final long serialVersionUID = -854333301529125138L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long ID; private String Type; private String Nam

好的,我有一个实体学校

@Entity 
public class School implements Serializable 
{
private static final long serialVersionUID = -854333301529125138L;
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long ID;  
private String Type;
private String Name;
private String City;
private String Country;

@OneToOne(cascade = CascadeType.PERSIST,fetch=FetchType.LAZY)
private Info information;

@OneToMany(cascade = CascadeType.PERSIST, mappedBy="school",fetch=FetchType.LAZY)
private List<Contact> Contacts;

@OneToMany(cascade = CascadeType.PERSIST, mappedBy="school",fetch=FetchType.LAZY)
private List<Student> students= new ArrayList<Student>();
// more fields and getters and setters.
学生班的成绩单课程如下

@Entity
public class Student implements Serializable
{

private static final long serialVersionUID = 5426530769458891752L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key ID;
@ManyToOne 
private School school;
private long SID;
private final long TSTAMP;
private String FName;
private String LName;
private String Email;
private String SchoolName;

@OneToOne(cascade = CascadeType.ALL,fetch=FetchType.LAZY)
private StudentInfo studentInf = new StudentInfo ();
@OneToOne(cascade = CascadeType.ALL,fetch=FetchType.LAZY)
private Transcript transcript;
 // more fields and getters and setters.
@Entity
public class Transcript
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key ID;
@OneToOne(cascade = CascadeType.ALL, mappedBy="transcript",fetch=FetchType.LAZY)
private Student student;
@Embedded 
private Course1 c1;
@Embedded 
private Course2 c2;
@Embedded 
private Course3 c3;
//... ect
public Transcript()
{
    this.c1= new Course1();
    this.c2= new Course2();
    this.c3= new Course3();
    // ... ect
}

// more fields and getters and setters.
最后,这里是一个示例课程

@Embeddable
public class Course1 implements Serializable
{
/**
 * 
 */
private static final long serialVersionUID = -7643055124732162110L;

private final String CourseTitle = "Course 1 Title";
private boolean MileStone1 = false;
private boolean MileStone2 = false;
// ... ect ... getters and setters
}
所有的类都会毫无问题地增强,服务器也会运行,但一旦创建了一个学生实例,它就会导致GAE dev服务器发生彻底的灾难,我尝试了很多可能的选项,但都显示了相同的错误消息:

"java.lang.IllegalArgumentException: org.datanucleus.exceptions.NucleusUserException: You have a field db.Entity.student.Student.transcript that has type db.Entity.Courses.Transcript but this type has no known metadata. Your mapping is incorrect"

我非常希望能够解释为什么会发生这种情况,以及如何在保持逻辑关系的同时修复它

如果某些类型的转录本没有已知的元数据,那么请找出它没有元数据的原因?是否将其从persistence.xml类定义中排除?不确定这是一场大灾难……不,它在persistence.xml中。。。没有被排除在外,非常感谢,但是请相信我!!:这就是下一步要看日志的地方。嘿,非常感谢!!我一直在检查错误跟踪,但我似乎找不到它的任何地方。。。你介意看一下吗??顺便说一句,我不能再编辑问题发布它。。。所以收件箱、电子邮件或新问题并在此处发布链接???