2013-04-13 2 views
-1

У меня есть класс имен с полями первым, средним и последним именем в моем JPA/проект ObjectDB так:Как использовать пользовательские типы в JPA/ObjectDB

@Embeddable 
public class Type_Name implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Column(name = "FIRST_NAME") 
    String first_name; 

    @Column(name = "MIDDLE_NAME") 
    String middle_name; 

    @Column(name = "LAST_NAME") 
    String last_name; 

    public String getFirst_name() { 
     return first_name; 
    } 

    public void setFirst_name(String first_name) { 
     this.first_name = first_name; 
    } 

    public String getMiddle_name() { 
     return middle_name; 
    } 

    public void setMiddle_name(String middle_name) { 
     this.middle_name = middle_name; 
    } 

    public String getLast_name() { 
     return last_name; 
    } 

    public void setLast_name(String last_name) { 
     this.last_name = last_name; 
    } 

    public Type_Name() { 
     super(); 
    } 

    public Type_Name(String first_name, String middle_name, String last_name) { 
     this.first_name = first_name; 
     this.middle_name = middle_name; 
     this.last_name = last_name; 
    } 

} 

Я пытаюсь создать студент:

public static Student createStudent(){ 
    Date d = new Date(90,11,11); 

    Student stu = new Student(); 
stu.setDob(d); 
stu.setGender("m"); 
stu.setNationality("WB"); 
    stu.setCampus_id(2); 
    stu.setCourse_id(1); 
    stu.setName(Type_Name.Type_Name("Bob, "", Smith")); 

    em.getTransaction().begin(); 
    em.persist(stu); 
    em.getTransaction().commit(); 
return stu; 

}

И я просто получаю ошибку говоря 'не может найти метод tYPE_NAME (строка, строка, строка)' в этой строке

stu.setName(Type_Name.Type_Name("Bob, "", Smith")); 

Как использовать мой собственный тип?

+0

Вы пытаетесь выполнить статический метод таким образом. – Aquillo

ответ

1

Может быть, вы должны использовать в качестве

  stu.setName(new Type_Name("Bob, "", Smith")); 
+1

Там нет, возможно, об этом :) – Aquillo

+0

Я пробовал это, и он не фиксирует имя для БД и заканчивается 6 нулевыми строками в нем, поэтому кажется, что он добавляет другой тип к существующему типу, и заканчивается с 6 нулями строки – user1875797

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