2012-09-18 22 views
-2

我已經做了索姆河與我的模型,但一個使用錯誤的列名刪除Ebean play2刪除javax.persistence.PersistenceException ...未知列

GroupeCours gc = GroupeCours.find 
      .where() 
      .eq("id",id) 
      .findUnique(); 
GroupeCours gc2 = new GroupeCours(); 
gc2.id=10L;  
gc2.nom="testbidon"; 

EbeanServer server = Ebean.getServer("refens"); 
server.insert(gc2); 
server.update(gc); //is ok 
server.delete(gc); //fail 

GC類

@SuppressWarnings("serial") 
@Entity 
@Table(name="GroupeCours", uniqueConstraints = { 
    @UniqueConstraint(columnNames = { "nom", "anneeVersion", "idComposante" }), 
    @UniqueConstraint(columnNames = { "id", "anneeVersion", "idComposante" }) }) 
public class GroupeCours extends AbstractModel { 
/** 
* Clé primaire 
*/ 
@Id 
@Column(name="id") 
public Long id; 

錯誤detaisl被

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[PersistenceException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'GroupeCours_id' in 'where clause']] 

爲什麼要找鑰匙GroupeCours_id?
注意:插入和更新運行良好

回答

0

我發現我的錯誤 消息是不是真的hepfull,讓我一下就壞的方向發展 其實我有索姆關係多對多並從中 錯誤COMME在這裏你看到正確的一個 我已經把標籤@JoinTable 我的模型comme來自play.1.0和hybernate 命名約定改變很多beber between hybernate和ebean alsos你必須標記每個表和字段... 你可以看到所有的細節 https://groups.google.com/forum/?hl=fr&fromgroups=#!topic/ebean/b4DRSxY68uM

@ManyToMany(cascade = CascadeType.ALL,mappedBy="groupes")  
@JoinTable (
      name="VolumeHoraireAEncadrer_GroupeCours", 
      joinColumns = {@JoinColumn(name = "groupes_id", referencedColumnName = "id")}, 
      inverseJoinColumns = {@JoinColumn(name = "VolumeHoraireAEncadrer_id", referencedColumnName = "id")} 

     ) 
public Set<VolumeHoraireAEncadrer> vhae = new HashSet<VolumeHoraireAEncadrer>();