我正面临一个让我陷入困境的问题。我有课文章:
@Entity
@Table(name = "Articles")
public class Article implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="article_id")
private Long id;
@Column(name="a_name")
private String name;
@Column(name="a_content")
private String content;
@OneToMany
@Column(name="a_tag")
private Collection <Tags> tag;
@Entity
@Table(name = "Tags")
public class Tags implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="tag_id")
private Long tag_id;
@Column(name="tag_name",nullable=false)
private String tag_name;
@Column(name="tag_descr")
private String tag_descr;
//position 0 - supertag
//position 1 - subsupertag
//position 2 - subtags
//Collection limited to 3 elements.(3 tags at most, necessaryly Super,subsuper,subtag
@Column(name="super_tags")
@OneToMany
private Collection<Tags> supertags = new ArrayList<Tags>(3);
//0-supertag 1-subsupertag 2- subtags
@Column(name="tag_type")
private int tag_type;
我的标签系统是这样的,我有 Supertag、subsuprttag 和 subtag。Supertag 是 subsupertag 和 subtag 的 parent, subsupertag 是 subtag 的 parent。每篇文章都有super、subsuper和sub标签。
现在,我只想从数据库中获取具有特定标签的文章,但不知道如何引用,例如 Collection 标签中的元素 2(按名称或位置),(这将是子标签)。
final String q = "SELECT f FROM Article f WHERE f.a_tag= ..I m lost here ...
EntityManager em;
em.createQuery(q).getResultList();
我希望我的问题足够清楚。我尽力了))谢谢。