Mes entités sont: UserShoppingList, produit et par catégorie comme suit:Play 2 modèle comment accéder à un membre de l'entité de la liste de type
package models;
import java.util.*;
import play.db.ebean.*;
import play.data.validation.Validation;
import play.data.validation.Constraints.*;
import javax.persistence.*;
import com.avaje.ebean.Ebean;
/**
* Entity managed by Ebean
*/
@Entity
public class UserShoppingList extends Model{
@Id
public Long id;
@Required
public String listName;
@ManyToOne
public User user;
@ManyToMany
public List<Product> products = new ArrayList<Product>();
//getters and setters
//(I have included them, not shown here)
package models;
import java.util.*;
import play.db.ebean.*;
import play.data.validation.Constraints.*;
import javax.persistence.*;
/**
* Product entity managed by Ebean
*/
@Entity
public class Product extends Model{
@Id
public Long Id;
@ManyToOne
public Category category;
@Required
public String brandName;
@Required
public String productName;
// -- Queries
public static Model.Finder<Long,Product> find = new Model.Finder(Long.class, Product.class);
package models;
import java.util.List;
import javax.persistence.*;
import play.db.ebean.*;
import play.data.validation.*;
import play.db.jpa.*;
/**
* Category entity managed by JPA
*/
@Entity
public class Category {
@Id
public Long id;
@Constraints.Required
public String categoryName;
// --getters and setters
Mon modèle:
@(shoppinglist: List[models.Product], categorylist: List[Category],
userShoppingListsForm: Form[models.UserShoppingList])
@import helper._
@main("Shopping list products") {
var productlist = shoppinglist.getProducts()
<h1>Shopping List</h1>
@for(c <- categorylist){
<ul>
<li class = "categoryrow">@categorylist.getCategoryName()</li>
@for(p <- productlist) {
<ul>
<li class="productcolumn">
@p.getBrandName()
</li>
<li class="productcolumn">
@p.getProductName()
</li>
<li class="command">
id = @p.getId()!
@form(routes.ShoppingLists.deleteProduct(id)) {
<input type="submit" value="Delete">
}
</li>
</ul>
}
</ul>
}
<h2>Add a product to list</h2>
@form(routes.ShoppingLists.newUserShoppingList()) {
@inputText(userShoppingListsForm("listName"))
<input type="submit" value="Create">
}
}
J'obtiens l'erreur suivante: Quelqu'un peut-il me suggérer une meilleure façon de créer un modèle pour Java 2 Play Framework pour accéder à la base de données? y membefrs qui sont eux-mêmes des listes (exemple: produits dans "UserShoppingList" s'il vous plaît?
Toute aide grandement appréciée. Merci un million
Pour demander un suivi -up question, vous devriez l'ajouter comme un commentaire ci-dessous la réponse et l'éditer dans votre question originale. Merci! – irrelephant