Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

Spring Data Hazelcast

GitHub Actions status Maven Central

The primary goal of the Spring Data is to make it easier to build Spring-powered applications that use new data access technologies. This module provides integration with Hazelcast.

Examples

For examples on using Spring Data Hazelcast, see dedicated Code Samples: spring-data-hazelcast-chemistry-sample and spring-data-jpa-hazelcast-migration.

Artifacts

Maven

<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>spring-data-hazelcast</artifactId>
    <version>${version}</version>
</dependency>

Gradle

dependencies {
    compile 'com.hazelcast:spring-data-hazelcast:${version}'
}

Usage

Spring Configuration

@Configuration
@EnableHazelcastRepositories(basePackages={"example.springdata.keyvalue.chemistry"}) // <1>
public class ApplicationConfiguration {
    @Bean
    HazelcastInstance hazelcastInstance() {     // <2> 
        return Hazelcast.newHazelcastInstance();
        // return HazelcastClient.newHazelcastClient();
    }
}
  1. Enables Spring Data magic for Hazelcast. You can specify basePackages for component scan.
  2. Instantiates Hazelcast instance (a member or a client)

Repository Definition

public interface SpeakerRepository extends HazelcastRepository<Speaker, Long> {}

Test of Repository

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = AppConfiguration.class)
public class AppTest {
    @Autowired
    SpeakerRepository speakerRepository;

    @Test
    public void testStart(){
        speakerRepository.findAll();
    }
}

@Query Support

Sample @Query Usages

Query with hardcoded value

@Query("firstname=James")
public List<Person> peoplewiththeirFirstNameIsJames();

Query with one variable

@Query("firstname=%s")
public List<Person> peoplewiththeirFirstName(String firstName);

Query with multiple variable values

@Query("firstname=%s and lastname=%s")
public List<Person> peoplewithFirstAndLastName(String firstName,String lastName);

Supported Query Keywords

True
False
Equal
NotEqual
Before
LessThan
LessThanEqual
After
GreaterThan
GreaterThanEqual
Between
IsNull
IsNotNull
In
NotIn
Containing
NotContaining
StartingWith
EndingWith
Like
NotLike
Regex
Distinct
IsEmpty
ExistsBy
IsWithin
IsNear