自动将值分配给瞬态属性

时间:2016-04-29 20:08:45

标签: java spring entity-framework jpa transient

我正在使用来自javax.persistence.Entity的@Entity来创建我的实体,在这种特殊情况下我必须创建一个transient属性(private Boolean assigned;)我正在使用org.springframework.data.repository中的PagingAndSortingRepository来创建接口来管理我的数据库实体。

我需要在List(OneToMany)属性为空时分配此值(布尔分配),所以我使用if子句以编程方式进行,问题是我必须在任何地方编写if子句并且我想知道是否可以某种方式自动分配该变量。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果你需要在数据库中保留之前设置这个标志的值,我建议使用实体监听器@PrePersist,basicallu让你有可能在持久化对象之前执行某些逻辑,在方法中您可以检查Array是否为空并将值设置为false。 还有其他事件,例如:

  

@PostLoad实体加载到当前后执行   持久化上下文或实体已刷新。

@PostLoad
public void setAssigned() {
   //Your logic for set to true or false the transient variable.
}

我认为这是一个选项,只能在提供商管理的一个地方执行逻辑。详细了解here