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.
我有以下实体:
@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.