Java hibernate搜索的复合方面

Java hibernate搜索的复合方面,java,hibernate,lucene,hibernate-search,Java,Hibernate,Lucene,Hibernate Search,我有两个实体:Action和User具有多对一关系。 我搜索操作,希望有一个用户名方面,但数据库中没有全名列,我有名字和姓氏 有没有办法在hibernate搜索中创建一个结合使用firstName和lastName的组合方面?或者有没有办法创建一个组合字段fullName,该字段将存在于搜索索引中(带有一个方面),但不存在于数据库中 映射如下所示: @Entity public class Action { ... @IndexEmbedded private Use

我有两个实体:
Action
User
具有多对一关系。
我搜索操作,希望有一个
用户名
方面,但数据库中没有
全名
列,我有
名字
姓氏

有没有办法在hibernate搜索中创建一个结合使用
firstName
lastName
的组合方面?或者有没有办法创建一个组合字段
fullName
,该字段将存在于搜索索引中(带有一个方面),但不存在于数据库中

映射如下所示:

@Entity
public class Action {

    ...

    @IndexEmbedded
    private User user;

}


@Entity
public class User {

    ...

    @Facet
    @Field(analyze = Analyze.NO)
    private String firstName;

    @Facet
    @Field(analyze = Analyze.NO)
    private String lastName;

}

您可以在用户对象的方法上使用@Facet和@Field

因此,您可以定义如下内容:

@Facet
@Field
public String getFullName() {
   return new StringJoiner(" ").add(firstName).add(lastName).toString();
}

您可以在用户对象的方法上使用@Facet和@Field

因此,您可以定义如下内容:

@Facet
@Field
public String getFullName() {
   return new StringJoiner(" ").add(firstName).add(lastName).toString();
}