@Entity(name = "User2")
@Table(name = "User")
@org.hibernate.annotations.Table(appliesTo = "User", indexes={
@org.hibernate.annotations.Index(name="passwd",columnNames={"email","password"})
})
@Indexed
@FullTextFilterDefs({
@FullTextFilterDef(name="wallFilter",impl=HibernateWallFilterFactory.class)
})
@AnalyzerDef(name = "userAnalyzer", tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class), filters = {
@TokenFilterDef(factory = StandardFilterFactory.class),
@TokenFilterDef(factory = ASCIIFoldingFilterFactory.class),
@TokenFilterDef(factory = LowerCaseFilterFactory.class)
})
@NaturalIdCache(region=CacheRegion.NATURAL)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE,region=CacheRegion.USER)
public class Usor{
@ManyToMany(cascade=CascadeType.MERGE,fetch = FetchType.LAZY)
@JoinTable(name = "User_UserRoles", joinColumns = @JoinColumn(nullable = false), inverseJoinColumns = @JoinColumn(nullable = false))
@Fetch(FetchMode.SUBSELECT)
@BatchSize(size=10)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE,region=CacheRegion.USER)
@IndexedEmbedded(prefix="role.")
@JsonIgnore
public Set<UserRole> getRoles() {
return roles;
}