Проблема идентификации приложения в приложении Google

Я хотел бы использовать аннотацию @Embeddable. Итак, предлагается определить как Application Identity. Я создал документацию Data Nucleus Documentation. Но все равно ошибка.

import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
@Embeddable
public class Category{
     @Id
     @GeneratedValue(strategy=GenerationType.IDENTITY)
     private String id;

     private String name;

     @OneToMany(mappedBy="category",cascade=CascadeType.ALL)
     private List<Product> products;

     public List<Product> getProducts() {
         return products;
     }

    public void setProducts(List<Product> products) {
        this.products = products;
     }

     public Category() {
     }

     public Category(String id,String name){
          this.id=id;
          this.name=name;
     }

     public String getId() {
         return id;
     }

     public void setId(String id) {
         this.id = id;
     }

     public String getName() {
         return name;
     }

     public void setName(String name) {
         this.name = name;
     }
 }

Ошибка

Возникли ошибки при инициализации указанных метаданных. Подробнее см. во вложенных исключениях. СЕРЬЕЗНЫЙ: класс entity.Category был указан с 1 полем первичного ключа, но этот класс использует неустойчивое удостоверение и должно быть удостоверением приложения.


person Thein    schedule 20.09.2011    source источник


Ответы (1)


Удалите @Id (и @Entity, если на то пошло), так как класс встраивается.

person DataNucleus    schedule 20.09.2011
comment
Да, это работает. Но другая ошибка Error in meta-data for entity.Category: No primary key defined.. Есть ли другой способ сделать такой запрос select p from Product p where p.category.id='C-1'.? Вот почему я использую объект @Embedded. Спасибо - person Thein; 20.09.2011