我正在使用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
(?, ?, ?, ?, ?, ?, ?, ?,)>
最佳答案
Hibernates / JPA的默认行为是使用Insert / Update-Statements中的所有列。
您可以通过使用@DynamicInsert和/或@DynamicUpdate注释@Entity来更改它。
但是,请注意,这些是非标准(非JPA)注释,其性能影响甚至可能是负面的。