【发布时间】:2011-11-10 17:39:43
【问题描述】:
我有一些用于放置在外部网站上的网络应用程序。这个应用程序是一个像 disqus (disqus.com) 这样的 cmets 的小部件。
在应用程序中,每个小部件都是一个具有许多属性的实体对象。 例如:
@Entity
class Widget {
private User admin; //same as owner, administrator, creator
private String site; //example.com
private String providers; //google_plus,facebook,twitter,lastfm and others
//... and a lot of many other attributes
}
现在我制定了坏词列表。此列表将由管理员小部件(所有者)管理。
对于这个任务,我有两种实现方式:
第一种方式:
@Entity
class Widget {
...
@ElementCollection(fetch = FetchType.LAZY)
@Column(name = "bad_words", length = 20)
private Set<String> badWords= new HashSet<String>();
...
}
在第二张表中保持关系
第二种方式:
@Entity
class Widget {
...
@Column(name = "bad_words", length = 2000)
private String badWords;
...
}
保留为字符串,单词由一些分隔符分隔,例如:“fukc,azz,shitt,...”
所以问题是在每个小部件实体中保留坏词的最佳方法是什么?案例 1、2 还是其他?
【问题讨论】:
-
关于单词过滤器的主题,你的方法不起作用,你必须在语音上匹配单词这是一个非常重要的问题要解决
标签: java database hibernate jpa widget