-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathrepository.vm
58 lines (49 loc) · 1.69 KB
/
repository.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* Created on $today.date ( Time $today.time )
* Generated by $generator.name ( version $generator.version )
*/
package ${target.javaPackageFromFolder($SRC)};
import $entity.fullName ;
import org.springframework.data.repository.CrudRepository;
#if( ! $entity.hasPrimaryKey() )
#error( "Primary Key required!" )
#elseif ($entity.hasCompositePrimaryKey())
#set($keyObjectType = "${entity.name}Key")
import ${entity.fullName}Key ;
#else
#foreach ($field in $entity.keyAttributes)
#set($keyObjectType = $field.wrapperType)
#end
#end
#set($existManyToOne = "false")
#if ($fn.size($entity.selectedLinks) > 0 )
#foreach( $link in $entity.selectedLinks )
#if ($link.isCardinalityManyToOne())
import $link.targetEntityFullType;
#set($existManyToOne = "true")
#end
#end
#end
#if($existManyToOne == true)
import java.util.List;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RestResource;
#end
#if ( $entity.hasCompositePrimaryKey() )
$generator.generate($target.entityName , "${entity.name}KeyConverter.java", "${target.folder}/converter", "compositekey_converter.vm" )
#end
/**
* Spring JPA Repository for ${entity.name}
*
* @author Telosys Tools Generator
*
*/
public interface ${entity.name}Repository extends CrudRepository<${entity.name}, $keyObjectType> {
#foreach( $link in $entity.selectedLinks )
#if ($link.isCardinalityManyToOne())
@RestResource(rel="by${link.targetEntitySimpleType}", path="by${link.targetEntitySimpleType}")
public List<${entity.name}> findBy${link.targetEntitySimpleType} (
@Param("${link.targetEntitySimpleType.toLowerCase()}") ${link.targetEntitySimpleType} ${link.targetEntitySimpleType.toLowerCase()});
#end
#end
}