我正在使用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
(?, ?, ?, ?, ?, ?, ?, ?,)>
答案 0 :(得分:0)
在插入/更新语句中使用所有列是Hibernates / JPA的默认行为。
您可以通过@DynamicInsert和/或@DynamicUpdate注释@Entity来改变这种情况。
但请注意,这些是非标准(非JPA)注释,性能影响甚至可能是负面的......