2010-03-25 3 views
1

Я создал одну таблицу, используя концепцию Inheritance для обработки данных в хранилище данных Google. Он содержал следующие кодирования, но он показывает error.How к ошибке concept.What пользователь Наследование в моей программеКонцепция наследования в jpa

Программа 1:

@Entity 
@Inheritance(strategy = InheritanceType.JOINED) 
public class calender { 

    @Id 
    private String EmailId; 

    @Basic 
    private String CalName; 

    @Basic 
    public void setEmailId(String emailId) { 
     EmailId = emailId;  
    } 

    public String getEmailId() {  
     return EmailId;  
    } 

    public void setCalName(String calName) {  
     CalName = calName;  
    } 

    public String getCalName() { 
     return CalName;  
    } 

    public calender(String EmailId, String CalName) {  
     this.EmailId = EmailId;  
     this.CalName = CalName;  
    } 
} 

Программа 2:

@Entity 
public class method extends calender { 
    @Id 
    private String method; 

    public void setMethod(String method) { 
     this.method = method; 
    } 

    public String getMethod() {  
     return method;  
    } 

    public method(String method) {  
     this.method = method;  
    } 

} 

Мое ограничение Я хочу, чтобы результат как этот

Calendartable содержат

Emailid 

calendarname 

и метод таблицы содержат

Emailid 

method 

Как этого добиться?

Он показывает следующее сообщение об ошибке в этой строке public method(String method)

java.lang.Error: Unresolved compilation problem: 

    Implicit super constructor calender() is undefined. Must explicitly invoke another constructor 
+0

Пожалуйста, будьте точнее. Какую ошибку вы получаете? Какое наследование нужно реализовать? Вы имеете в виду, что «метод» должен унаследовать от «calender»? Если это так, я не вижу слова «extends» в классе «method» ... – user132371

+0

ya я добавил расширения, но он показывает еще одну ошибку, которую я включил, что также – user246160

ответ

0

Датастор из GAE/J не является СУБД так, следовательно, только «стратегия наследования», что делает любой смысл TABLE_PER_CLASS. Я бы ожидал, что GAE/J опубликует исключение, если вы укажете эту стратегию, а если нет, то вы должны поднять вопрос против них.

0

Ваша ошибка «конструктор calender() не определен» довольно проста. Вы должны создать конструктор без параметров в классе календаря (вы можете сделать его закрытым, если вы не хотите его использовать). Это потому, что компилятор может создавать конструктор по умолчанию сам по себе, только если в классе нет других конструкторов.

1
  1. Согласно Using JPA with App Engine, стратегия JOINED наследование не поддерживается.

  2. Ваш код не компилируется, добавьте конструктор по умолчанию в Calendar.

  3. Я не думаю, что вы должны аннотировать поле method с помощью @Id.

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