-2

我已经用我的模型完成了一些删除,但是一个使用了错误的列名

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

4

1 回答 1

0

我发现我的错误消息并不是真的很好,让我看向不好的方向事实上我有很多关系,错误来自它这里你看到正确的一个我已经把标签@JoinTable 我的模型comme从 play.1.0 和 hybernate 开始,命名约定在 hybernate 和 ebean 之间发生了很大变化,您还必须标记每个表和字段……您可以在 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>();
于 2012-09-20T07:40:20.923 回答