-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSpringRepository_java.vm
36 lines (33 loc) · 1.38 KB
/
SpringRepository_java.vm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#checkId($entity)
package ${target.javaPackageFromFolder($SRC)};
#set($importsFK = false)
#foreach( $field in $entity.nonKeyAttributes )
#if($field.isFK() && ${field.referencedEntity.keyAttributesCount} == 1 )
#set($importsFK = true)
#end
#end
#if($importsFK == true)
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.query.Param;
#end
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import ${ROOT_PKG}.$fn.toLowerCase("${entity.name}").${entity.name};
#set($keyAttributeType = 'Long')
##set($recordClass = "${entity.name}Record" )
#if(${entity.keyAttributesCount} == 1)
#set($keyAttributeType = ${entity.keyAttribute.simpleType})
#end
@NoRepositoryBean
public interface ${entity.name}RepositoryGen extends PagingAndSortingRepository<${entity.name}, ${keyAttributeType}> {
##@Override
##@EntityGraph(attributePaths = {"tableList"})
##Iterable<Database> findAll();
#foreach( $field in $entity.nonKeyAttributes )
#if($field.isFK() && ${field.referencedEntity.keyAttributesCount} == 1 )
#set($fkKeyName= ${field.referencedEntity.keyAttribute.name})
Page<${entity.name}> findBy${field.referencedEntity.name}_$fn.capitalize(${fkKeyName})(@Param("${fkKeyName}") Long ${fkKeyName}, Pageable pageable);
#end
#end
}