2017-07-28 36 views
1

我正在使用Hibernate。 我有一个道:空字段正在发送到数据库

public interface DmRequestDao extends DaoSupport<DmRequestDomain> 

其中

DmRequestDomain extends JodaIdTrackableBaseEntity<DmRequestDomain> 

,并标注有@Entity。

这包含它所代表的表的所有列名称。

然后我的服务类有上面的dao对象autowired。 我可以看到正确打印在日志文件中的DmRequestDomain的值。

但是当我调用add dao时,我在我的服务器日志中看到所有空值正在发送。

dmpRequestDao.add(object of DmRequestDomain); 

这里可能是什么原因。

我在服务器日志中看到的查询是

insert 
into 
    DM_REQUEST 
    (CREATED_BY, CREATED_DATE, MODIFIED_BY, MODIFIED_DATE, version, DISCONNECT_REASON, DISCONNECT_REASON_CODE, id) 
values 
    (?, ?, ?, ?, ?, ?, ?, ?,)> 
+0

你确定这些“?”的不只是占位符?您可能必须启用将实际值打印到日志 – zero01alpha

+0

是的,启用了。我可以看到其他表的值 – Yasha

+0

你可以发布一些更多的代码吗?也许域对象 – zero01alpha

回答

0

中插入/更新,语句中使用的所有列是Hibernate的/ JPAS默认行为。

您可以通过使用@DynamicInsert和/或@DynamicUpdate注释@Entity来更改。

但是,要知道,这些都是非标准(非JPA)注释和性能的影响甚至可能是负的...

+0

的实际构造不能带来性能影响的风险。它是一款企业应用。 – Yasha