Hibernate Annotations:类扩展Vector<>

时间:2014-05-19 06:39:38

标签: java hibernate annotations

Hibernate不会在数据库中插入Vector的数据。 如何指示hibernate执行此操作?

我想要的是一张桌子" tbl_right"用外键" id_licence"这是指许可证。

我正在寻找并尝试超过一天的解决方案,但我找不到任何东西。 似乎没有其他人有类似的问题。

有人知道如何解决它吗?

这就是我正在谈论的课程:

@Entity
@Table(name = "tbl_licence")
public class Licence extends Vector<Right> implements ILicence {

    public Licence(String description) {
        this.description = description;
    }
    private int db_id;
    private String description = "No description for Licence";  
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    public int getDb_id() {
        return db_id;
    }
    public void setDb_id(int db_id) {
        this.db_id = db_id;

    }    
    @Column(name = "DESCRIPTION")
    public String getDescription() {
        return description;
    }   
    public void setDescription(String description) {
        this.description = description;
    }   
}

可能的解决方案:

@OneToMany(targetEntity = Right.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "ID_LICENCE")
public Collection<Right> getCollection() {
    Collection<Right> c = new Vector<>();
    for(Right r : this){
        c.add(r);
    }
    return c;
}

public void setCollection(Collection<Right> rights) {
    this.clear();
    this.addAll(rights);
}

0 个答案:

没有答案