Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查询Hibernate缓存而不是数据库_Java_Database_Hibernate_Caching_Ehcache - Fatal编程技术网

Java 查询Hibernate缓存而不是数据库

Java 查询Hibernate缓存而不是数据库,java,database,hibernate,caching,ehcache,Java,Database,Hibernate,Caching,Ehcache,我有一个类似这样的问题: Select * FROM table1 WHERE name LIKE 's%'; 我不希望这个查询从数据库中获取数据;相反,它应该从hibernate会话或其他内容返回数据。我认为启用二级缓存将有所帮助,但不确定它是否有助于过滤查询 如何强制查询不从数据库获取数据?Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果 第二级缓存是SessionFactory级缓存,因此可以为任何用户缓存结果填充 据我所知,对于特定

我有一个类似这样的问题:

Select * FROM table1 WHERE name LIKE 's%';
我不希望这个查询从数据库中获取数据;相反,它应该从hibernate会话或其他内容返回数据。我认为启用二级缓存将有所帮助,但不确定它是否有助于过滤查询


如何强制查询不从数据库获取数据?

Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果

第二级缓存是SessionFactory级缓存,因此可以为任何用户缓存结果填充

据我所知,对于特定的查询,您需要缓存。Hibernate也有这个特性
org.hibernate.Query.setCacheable(true)
可以在这里使用

从文件中

为特定查询启用结果缓存

因为大多数查询都没有 从缓存其结果中获益,您需要为其启用缓存 单个查询,即使在整体启用查询缓存之后。到 为特定查询启用结果缓存,调用 org.hibernate.Query.setCacheable(true)。此调用允许查询 查找现有缓存结果,或在需要时将其结果添加到缓存中 它被执行了

另请参见


Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果

第二级缓存是SessionFactory级缓存,因此可以为任何用户缓存结果填充

据我所知,对于特定的查询,您需要缓存。Hibernate也有这个特性
org.hibernate.Query.setCacheable(true)
可以在这里使用

从文件中

为特定查询启用结果缓存

因为大多数查询都没有 从缓存其结果中获益,您需要为其启用缓存 单个查询,即使在整体启用查询缓存之后。到 为特定查询启用结果缓存,调用 org.hibernate.Query.setCacheable(true)。此调用允许查询 查找现有缓存结果,或在需要时将其结果添加到缓存中 它被执行了

另请参见


Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果

第二级缓存是SessionFactory级缓存,因此可以为任何用户缓存结果填充

据我所知,对于特定的查询,您需要缓存。Hibernate也有这个特性
org.hibernate.Query.setCacheable(true)
可以在这里使用

从文件中

为特定查询启用结果缓存

因为大多数查询都没有 从缓存其结果中获益,您需要为其启用缓存 单个查询,即使在整体启用查询缓存之后。到 为特定查询启用结果缓存,调用 org.hibernate.Query.setCacheable(true)。此调用允许查询 查找现有缓存结果,或在需要时将其结果添加到缓存中 它被执行了

另请参见


Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果

第二级缓存是SessionFactory级缓存,因此可以为任何用户缓存结果填充

据我所知,对于特定的查询,您需要缓存。Hibernate也有这个特性
org.hibernate.Query.setCacheable(true)
可以在这里使用

从文件中

为特定查询启用结果缓存

因为大多数查询都没有 从缓存其结果中获益,您需要为其启用缓存 单个查询,即使在整体启用查询缓存之后。到 为特定查询启用结果缓存,调用 org.hibernate.Query.setCacheable(true)。此调用允许查询 查找现有缓存结果,或在需要时将其结果添加到缓存中 它被执行了

另请参见

session.load()
方法将首先检查会话级缓存中的实体。如果找到该实体,则该实体将从缓存中返回,否则它将查询数据库并将其返回给客户端。但是,
session.get()
方法每次都将直接从数据库中提取。

session.load()
方法将首先检查会话级缓存中的实体。如果找到该实体,则该实体将从缓存中返回,否则它将查询数据库并将其返回给客户端。但是,
session.get()
方法每次都将直接从数据库中提取。

session.load()
方法将首先检查会话级缓存中的实体。如果找到该实体,则该实体将从缓存中返回,否则它将查询数据库并将其返回给客户端。但是,
session.get()
方法每次都将直接从数据库中提取。

session.load()
方法将首先检查会话级缓存中的实体。如果找到该实体,则该实体将从缓存中返回,否则它将查询数据库并将其返回给客户端。但是,
session.get()
方法每次都将直接从数据库中获取