我正在开发一个使用 Hibernate 作为 ORM 的 Spring Boot 项目。我启用了 Hibernate 二级缓存。我有一个名为 Country 的实体。在国家/地区,我有一个自然 ID,并且我启用了基于自然 ID 的缓存。
@Entity
@Table(name="t_country")
@Cacheable
@org.hibernate.annotations.Cache(usage="CacheConcurrencyStrategy.READ_WRITE, region="country")
@NaturalIdCache(region="country")
public class Country {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name="ID")
Long id
@NaturalId
@Column(name="COUNTRY_CODE")
String countryCode
.....
.....
}
当我使用 findByCountryCode(String countryCode) 方法查询国家/地区时,它一直在访问数据库。谁能告诉我我在这里做错了什么?