空字段正在发送到数据库

时间:2017-07-28 16:14:20

标签: java spring hibernate

我正在使用Hibernate。 我有一个道:

public interface DmRequestDao extends DaoSupport<DmRequestDomain>

,其中

 DmRequestDomain extends JodaIdTrackableBaseEntity<DmRequestDomain> 

并使用@Entity进行注释。

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

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

但是当我在这个dao上调用add时,我在服务器日志中看到所有空值都被发送。

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
    (?, ?, ?, ?, ?, ?, ?, ?,)>

1 个答案:

答案 0 :(得分:0)

在插入/更新语句中使用所有列是Hibernates / JPA的默认行为。

您可以通过@DynamicInsert和/或@DynamicUpdate注释@Entity来改变这种情况。

但请注意,这些是非标准(非JPA)注释,性能影响甚至可能是负面的......