在JPA中,如果数据库生成的字段在保存后不返回给应用程序,可以使用@Transient
注解来解决该问题。@Transient
注解用于指示JPA不应将该字段持久化到数据库中。
下面是一个示例代码:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
@Transient
private String generatedField;
// getters and setters
// ...
}
在上述示例中,generatedField
字段被标记为@Transient
,因此它不会被持久化到数据库中。这意味着当从数据库查询实体时,该字段将不会被填充。
这是一个保存实体的示例代码:
userRepository.save(user);
在保存后,generatedField
字段的值将不会被返回。
请注意,@Transient
注解只适用于字段级别的持久化。如果要在实体级别上排除某些字段,可以考虑使用@JsonIgnore
注解或在DTO中进行字段选择。