Ebean play2删除javax.persistence.PersistenceException ...未知列

时间:2012-09-18 16:37:28

标签: playframework-2.0 ebean

我已经使用我的模型完成了somme delete,但是使用了错误的列名

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; 

错误详情

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键? 注意:插入和更新运行良好

1 个答案:

答案 0 :(得分:0)

我发现了我的错误 消息不是真的很好,让我看看坏的方向 事实上,我有许多与许多人之间的关系,以及由此产生的错误 在这里你看到了正确的 我把标签@JoinTable 我的模特纪念来自play.1.0和hybernate 命名约定改变了很多beberween和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>();