【发布时间】:2018-11-09 11:27:59
【问题描述】:
我有一个实体,其中一个属性是 insert_time。 插入时间不是在应用程序中填写,而是通过数据库触发器填写。
CREATE OR REPLACE TRIGGER ENTITY_NAME_CT
BEFORE INSERT ON ENTITY_NAME
FOR EACH ROW
BEGIN
:new.CREATE_TIME := CURRENT_TIMESTAMP;
END;
如何在我的应用程序中获取插入时间?我知道可以从我的服务调用实体存储库来搜索具有给定 ID 的实体,但这将开始新事务并基本上再次获取整个实体,这似乎是一个糟糕的解决方案。可以在存储库的 create 方法中获取插入时间吗?实体管理器 refresh() 不会起作用,因为它仍然是相同的事务
我的 create 方法或多或少是这样的:
@Transactional
public Comment createEntity(Entity entity) {
entityManager.persist(entity);
return entity
}
【问题讨论】:
-
坚持(评论);什么评论?你是说实体吗?
-
@Tu.ma ye,我已经编辑了代码。
标签: java database spring jpa database-trigger