Hibernate - 在辅助 table 的列上使用公式

Hibernate - Use formula on column from Secondary table

我有以下实体:

@Entity
@Table(name = "myTable")
@SecondaryTable(name = "myOtherTable", pkJoinColumns = @PrimaryKeyJoinColumn(name = "someId"))
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ContactEntity {

  @Id
  @Column(name = "id")
  private Long id;
  @Column(name = "firstName", table = "myOtherTable")
  private String firstName;
  @Column(name = "lastName", table = "myOtherTable")
  private String lastName;

}

myOtherTable 中的 firstName 和 lastName 应该被删减。 我尝试使用 @Formula("trim(firstName)" 但出现以下错误 firstName does not exist in table myTable 有没有办法将公式应用于辅助 table ? (不使用 myOtherTable 中的 select ...)? 或者我应该使用像下面这样的转换器 https://www.baeldung.com/jpa-attribute-converters 谢谢。

@Formula 使字段 read-only 因此您可能想改用转换器。 来自 javadoc:

Defines a formula (derived value) which is a SQL fragment that acts as a @Column alternative in most cases. Represents read-only state.