答案 0 :(得分:0)
DTO 为:
...携带进程之间的数据的对象
因此DTO并不是实体,因此在任何情况下都不受管理(嗯,不一定可以使用实体类作为DTO),而是仅保存数据的类。
如果只想获取数据(例如传递到某个地方),则可以直接将数据查询到DTO中。同样因为DTO是不是没有缓存,以便将数据从数据库中直接来实体。你也不能对其执行任何操作JPA
CacheRetrieveMode.BYPASS 影响EntityManager在提取实体时如何使用其缓存-因此请使用 find(..)
方法。 BYPASS将旁通从数据库从缓存中检索第一和力负荷实体总是
因此,这两个事物不能直接比较,因为它们是完全不同的事物。但我认为您所追求的是:
find()
时绕过缓存并从数据库加载实体find(..)
之类的EntityManagers方法,但是这些定制查询不会生成实体,因此无论设置什么,都不会缓存使用 CacheRetrieveMode 答案 1 :(得分:-1)
好的,javax.persistence.cache.retrieveMode仅适用于2级缓存,因此不能与1级缓存的DTO进行比较