新发现者没有生成实现(M3)

时间:2017-02-26 23:58:29

标签: java spring aspectj spring-roo

我在Spring Roo 2 M3上有一个工作项目。我意识到我需要一个新的取景器,除了我在引导项目时创建的取景器。 我在roo控制台中生成了finder:

finder add --entity ~.domain.Usuario --name findByUsername

它在java存储库中创建了正确的注释

@RooFinder("findByUsername")

以及存储库方面的方法

public abstract Page<Usuario> UsuarioRepository.findByUsername(String username, Pageable pageable);

但它没有在服务中生成该查找器,也没有像我之前生成的其他查找器那样生成服务实现。

我用谷歌搜索了几天,并试图修复它,但我没有取得任何进展。

注意:几个月前,我已经在其他spring roo 2 M3项目中遇到过这个问题。我有同样的问题,像一个星期,然后经过许多随机篡改代码后,最终roo控制台触发了更改,但我无法弄清楚它为什么起作用。

编辑: log.roo

// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 18:32:01
project setup --topLevelPackage ar.edu.um.ingsoftware --projectName "umbook"
jpa setup --database MYSQL --provider HIBERNATE --hostName 127.0.0.1 --databaseName umbook --userName root
entity jpa --class ~.reference.Persona --abstract
field string --fieldName username --notNull 
field string --fieldName password --notNull
entity jpa --class ~.domain.Usuario  --extends ~.reference.Persona
field string --fieldName email --notNull
field string --fieldName nombre --notNull 
field string --fieldName apellido --notNull
field date --fieldName fechaNacimiento --type java.util.Calendar --past
entity jpa --class ~.domain.Administrador  --extends ~.reference.Persona
entity jpa --class ~.domain.Comentario
field string --fieldName contenido --notNull
field reference --fieldName autor --type ~.domain.Usuario
field date --fieldName timestmp --type java.util.Calendar
repository jpa --all
finder add --name findByEmailEquals --entity ~.domain.Usuario
finder add --name findByNombreLike --entity ~.domain.Usuario
finder add --name findByApellidoLike --entity ~.domain.Usuario
service --all
web mvc setup
web mvc view setup --type THYMELEAF
web mvc controller --all --responseType THYMELEAF
// script --file script_roo
exit
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 18:32:26
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 18:57:39
web mvc finder --all --responseType THYMELEAF --pathPrefix 'find'
web mvc language --code es --useAsDefault 
web mvc templates setup --type THYMELEAF 
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 19:23:08
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 19:23:31
focus --class ~.domain.Usuario
field list --fieldName comentarios --type ~.domain.Comentario --mappedBy listaDeComentarios --cardinality ONE_TO_MANY 
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 19:41:26
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 19:41:37
exit
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 19:42:18
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 19:42:36
focus --class ~.domain.Comentario 
focus --class ~.domain.Usuario
// [failed] field list --fieldName comentariosHechos --type ~.domain.Comentario --mappedBy autor  --cardinality ONE_TO_MANY 
// [failed] field list --fieldName comentarios --type ~.domain.Comentario
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 19:53:59
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 19:54:16
focus --class ~.domain.Usuario
field list --fieldName comentarios --type ~.domain.Comentario
focus --class ~.domain.Comentario
focus --class ~.domain.Usuario
field list --fieldName comentarios --type ~.domain.Comentario --cardinality MANY_TO_MANY 
field list --fieldName comentarios --type ~.domain.Comentario
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 19:58:35
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-06 19:58:50
// [failed] field list --fieldName comentariosHechos --type ~.domain.Comentario --mappedBy autor
focus --class ~.domain.Usuario
field list --fieldName comentariosHechos --type ~.domain.Comentario --mappedBy autor
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-06 23:36:33
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-16 18:03:39
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-19 04:51:01
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-24 20:40:34
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-24 20:42:02
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-24 20:42:15
help
project scan now
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-25 00:49:54
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-25 00:50:07
project scan status
project scan now
finder add --entity ~.domain.Usuario --name findByUsername
project scan now
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-26 04:59:57
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-26 05:00:09
project scan now
project scan now
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-26 05:12:02
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-26 05:12:13
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-26 05:15:11
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-26 05:16:30
project scan status
project scan status
project scan now
help
metadata status
help
version
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-26 05:36:24
// Spring Roo 2.0.0.M3 [rev 20a0f71] log opened at 2017-02-26 19:59:43
// Spring Roo 2.0.0.M3 [rev 20a0f71] log closed at 2017-02-26 20:59:20

EDIT2:在插入

之后添加了UsuarioRepository.java
package ar.edu.um.ingsoftware.repository;
import ar.edu.um.ingsoftware.domain.Usuario;
import org.springframework.roo.addon.layers.repository.jpa.annotations.RooJpaRepository;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.roo.addon.layers.repository.jpa.annotations.RooFinder;

@Transactional(readOnly = true)
/**
 * = UsuarioRepository
 *
 * TODO Auto-generated class documentation
 *
 */
@RooJpaRepository(entity = Usuario.class, finders = { @RooFinder("findByEmailEquals"), @RooFinder("findByNombreLike"), @RooFinder("findByApellidoLike"), @RooFinder("findByUsername") })
public interface UsuarioRepository extends JpaRepository<Usuario, Long>, UsuarioRepositoryCustom {

    /**
     * TODO Auto-generated method documentation
     * 
     * @param email
     * @param pageable
     * @return Page
     */
    public abstract Page<Usuario> findByEmailEquals(String email, Pageable pageable);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param email
     * @return Long
     */
    public abstract long countByEmailEquals(String email);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param nombre
     * @param pageable
     * @return Page
     */
    public abstract Page<Usuario> findByNombreLike(String nombre, Pageable pageable);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param nombre
     * @return Long
     */
    public abstract long countByNombreLike(String nombre);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param apellido
     * @param pageable
     * @return Page
     */
    public abstract Page<Usuario> findByApellidoLike(String apellido, Pageable pageable);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param apellido
     * @return Long
     */
    public abstract long countByApellidoLike(String apellido);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param username
     * @param pageable
     * @return Page
     */
    public abstract Page<Usuario> findByUsername(String username, Pageable pageable);


    /**
     * TODO Auto-generated method documentation
     * 
     * @param username
     * @return Long
     */
    public abstract long countByUsername(String username);

}

2 个答案:

答案 0 :(得分:2)

在分析了您的问题之后,看起来Spring Roo 2.0.0.M3元数据侦听器的某些问题会影响到包含新查找程序时的服务生成。

此问题已在Spring Roo 2.0.0.RC1中修复,并且很快就会发布。

无论如何,如果你使用push-in方法的findByUsername,服务接口和服务实现必须包含它。

如果您有任何问题,请告诉我!

希望它有所帮助,

答案 1 :(得分:0)

该问题尚未解决,请尝试添加新的查找器,等于我在roo控制台中生成了查找器,但是如果我使用添加行的脚本生成了新项目,则它会生成相同的类和存储库使用控制台执行此操作时生成的,但在repositoryImpl中没有错误。

案例A(使用控制台):

// Spring Roo 2.0.0.RELEASE [rev 4a2e9f1] log opened at 2019-05-13 18:06:10
project setup --topLevelPackage testfinder2 --projectName "testfinder2" --java 8 --packaging WAR
// Spring Roo 2.0.0.RELEASE [rev 4a2e9f1] log closed at 2019-05-13 18:06:11
// Spring Roo 2.0.0.RELEASE [rev 4a2e9f1] log opened at 2019-05-13 18:06:13
jpa setup --provider HIBERNATE --database MYSQL --hostName --databaseName prueba --userName root --password 
!g obr:deploy org.springframework.roo.wrapping.mysql-connector-java
!g obr:start org.springframework.roo.wrapping.mysql-connector-java
addon install bundle --bundleSymbolicName  org.springframework.roo.wrapping.mysql-connector-java
entity jpa --class ~.springbootbackendbiochem.model.entity.GlCompanias --plural Companias --schema blade --table gl_companias --identifierColumn id_compania --entityFormatExpression "#{cveCompania}"
field string --fieldName cveCompania --sizeMax 3 --notNull --column cve_compania
field string --fieldName razonSocial --sizeMax 80 --notNull --column razon_social
field string --fieldName domicilio --sizeMax 100 --notNull --column domicilio
field string --fieldName rfc --sizeMax 15 --notNull --column rfc
field string --fieldName codigoPostal --sizeMax 6 --notNull --column codigo_postal
field string --fieldName telefonos --sizeMax 70 --notNull --column telefonos
field string --fieldName fax --sizeMax 25 --notNull --column fax
field string --fieldName email --sizeMax 100 --notNull --column email
field string --fieldName contacto --sizeMax 40 --notNull --column contacto
field date --fieldName fechaIngresoSistema --type java.util.Date --column fecha_ingreso_sistema
field string --fieldName comentarios --sizeMax 255 --notNull --column comentarios
field number --fieldName paisDefault --type java.lang.Long --column pais_default
field string --fieldName pagina --sizeMax 25 --notNull --column pagina
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatClientes --plural CatsClientes --schema blade --table vnt_cat_clientes --identifierColumn id_cliente --entityFormatExpression "#{nombre}#{rfc}"
field string --fieldName cveCliente --sizeMax 15 --notNull --column cve_cliente
field string --fieldName nombre --sizeMax 70 --notNull --column nombre
field string --fieldName razonSocial --sizeMax 100 --notNull --column razon_social
field string --fieldName rfc --sizeMax 15 --notNull --column rfc
field string --fieldName tipoContribuyente --sizeMax 1 --notNull --column tipo_contribuyente
field string --fieldName calleDomicilio --sizeMax 120 --notNull --column calle_domicilio
field string --fieldName telefonoComercial --sizeMax 60 --notNull --column telefono_comercial
field string --fieldName telefonoPagos --sizeMax 60 --notNull --column telefono_pagos
field string --fieldName telefonoBodega --sizeMax 60 --notNull --column telefono_bodega
field string --fieldName telefonoVentas --sizeMax 60 --notNull --column telefono_ventas
field string --fieldName emailComercial --sizeMax 100 --notNull --column email_comercial
field string --fieldName emailPagos --sizeMax 100 --notNull --column email_pagos
field string --fieldName emailVentas --sizeMax 100 --notNull --column email_ventas
field string --fieldName emailBodega --sizeMax 100 --notNull --column email_bodega
field string --fieldName domicilioBodega --sizeMax 120 --notNull --column domicilio_bodega
field string --fieldName representanteLegal --sizeMax 35 --notNull --column representante_legal
field string --fieldName atencionVentas --sizeMax 35 --notNull --column atencion_ventas
field string --fieldName atencionPagos --sizeMax 35 --notNull --column atencion_pagos
field string --fieldName comentarios --sizeMax 255 --notNull --column 
field boolean --fieldName estatus  --column estatus 
field number --fieldName idColoniaFiscal --type int --column id_colonia_fiscal
field number --fieldName idColoniaEntregas --type int --column id_colonia_entregas
field date --fieldName ultimaActualizacion --type java.util.Date --column ultima_actualizacion
field string --fieldName cveUsuarioActualizacion --sizeMax 10 --notNull --column cve_usuario_actualizacion
field string --fieldName localizacion --sizeMax 200 --notNull --column localizacion
field boolean --fieldName moroso  --column moroso  
field date --fieldName fechaRegisto --type java.util.Date --column fecha_registro
field boolean --fieldName esProspecto  --column es_prospecto 
field date --fieldName fechaUltimoMovimiento --type java.util.Date --column fecha_ultimo_movimiento
field number --fieldName idUsoCfdi --type int --column id_uso_cfdi
field string --fieldName metodoPago --sizeMax 3 --notNull --column metodo_pago
field string --fieldName formaPago --sizeMax 3 --notNull --column forma_pago
field string --fieldName latitude --sizeMax 20 --notNull --column latitude
field string --fieldName longitude --sizeMax 20 --notNull --column longitude
field string --fieldName verificado --sizeMax 1 --notNull --column verificado
field string --fieldName imgIfe --sizeMax 200 --notNull --column img_ife
field string --fieldName imgComprobante --sizeMax 200 --notNull --column img_comprobante
entity jpa --class ~.springbootbackendbiochem.model.entity.GlCatColoniasN --plural CatsColonias --schema blade --table gl_cat_colonias_n --identifierColumn id_colonia --entityFormatExpression "#{nombreColonia}"
field number --fieldName idMunicipio --type int --column id_municipio 
field string --fieldName nombreColonia --sizeMax 100 --notNull --column nombre_colonia
field string --fieldName cp --sizeMax 45 --notNull --column cp
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --plural CatsClientesParametros --schema blade --table vnt_cat_clientes_parametros --identifierColumn id_clientesparametros --entityFormatExpression "#{cveCliente}"
field string --fieldName cveCompania --sizeMax 3 --notNull --column cve_compania
field string --fieldName cveCliente --sizeMax 15 --notNull --column cve_cliente
field string --fieldName cveCentroCosto --sizeMax 30 --notNull --column cve_centro_costo
field string --fieldName tipoCliente --sizeMax 3 --notNull --column tipo_cliente
field string --fieldName giroCliente --sizeMax 1 --notNull --column giro_cliente
field number --fieldName numContrato --type java.lang.Long --column num_contrato 
field string --fieldName calificaComprador --sizeMax 1 --notNull --column califica_comprador
field string --fieldName calificaPagador --sizeMax 1 --notNull --column califica_pagador
field boolean --fieldName esProspecto --column es_prospecto
field number --fieldName diasVencimientoCartera --type int --column dias_vencimiento_cartera
field number --fieldName limiteCredito --type java.math.BigDecimal --column limite_credito
field number --fieldName minimoCompra --type java.math.BigDecimal --column minimo_compra
field number --fieldName pctDescuentoEspecial --type java.math.BigDecimal --column pct_descuento_especial 
field string --fieldName estatus --sizeMax 1 --notNull --column estatus
field string --fieldName comentarios --sizeMax 255 --notNull --column comentarios
field boolean --fieldName identificacionOficial --column identificacion_oficial 
field boolean --fieldName comprobanteDomicilio --column comprobante_domicilio 
field boolean --fieldName altaHacienda --column alta_hacienda
field boolean --fieldName actaConstitutiva --column acta_constitutiva
field boolean --fieldName rfc --column rfc
field boolean --fieldName contratoConfirmado --column contrato_confirmado 
field string --fieldName familia --sizeMax 3 --notNull --column familia
field number --fieldName idTipoCliente --type int --column id_tipo_cliente  
field number --fieldName idCrediticio --type int --column id_crediticio
field number --fieldName idImportancia --type int --column id_importancia
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --plural CatsPerfilesCLientesProductos --schema blade --table vnt_cat_perfil_cliente_productos --identifierColumn id_perfilclienteproductos --entityFormatExpression "#{familia}"
field string --fieldName familia --sizeMax 4 --notNull --column familia
field string --fieldName nombreTipoFamilia --sizeMax 55 --notNull --column nombre_tipo_familia
focus --class ~.springbootbackendbiochem.model.entity.GlCatColoniasN
field set --fieldName CatsColoniasN --type ~.springbootbackendbiochem.model.entity.VntCatClientes --joinColumnName id_colonia --fetch EAGER
focus --class ~.springbootbackendbiochem.model.entity.GlCompanias
field set --fieldName CompaniasClientesParametros --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_compania --fetch EAGER
focus --class ~.springbootbackendbiochem.model.entity.VntCatClientes
field set --fieldName ClientesClientesParametros --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_cliente --fetch EAGER
focus --class ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos
field set --fieldName ClientesPerfilProductos --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_perfilclienteproductos --fetch EAGER
repository jpa --all
service --all
dto --class ~.springbootbackendbiochem.model.entity.VntCatClientesBuscador
field string --fieldName nombre
field string --fieldName rfc
dto --class ~.springbootbackendbiochem.model.entity.GlCatColoniasNBuscador
field string --fieldName nombreColonia
finder add --entity ~.springbootbackendbiochem.model.entity.VntCatClientes --name findByNombreAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.VntCatClientesBuscador
finder add --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN --name findByNombreColoniaAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.GlCatColoniasNBuscador
web mvc setup
web mvc language --code es --useAsDefault 
web mvc view setup --type THYMELEAF
web mvc templates setup --type THYMELEAF
web mvc controller --all --responseType THYMELEAF
web mvc controller --all 
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatClientes
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatClientes --responseType THYMELEAF
web mvc finder --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN
web mvc finder --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN --responseType THYMELEAF
finder add --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --name findByFamiliaAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductosBuscador
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --responseType THYMELEAF

情况b(使用此脚本):

jpa setup --provider HIBERNATE --database MYSQL --hostName xxx --databaseName prueba --userName root --password 

addon install bundle --bundleSymbolicName  org.springframework.roo.wrapping.mysql-connector-java

//GlCompanias
entity jpa --class ~.springbootbackendbiochem.model.entity.GlCompanias --plural Companias --schema blade --table gl_companias --identifierColumn id_compania --entityFormatExpression "#{cveCompania}"
field string --fieldName cveCompania --sizeMax 3 --notNull --column cve_compania
field string --fieldName razonSocial --sizeMax 80 --notNull --column razon_social
field string --fieldName domicilio --sizeMax 100 --notNull --column domicilio
field string --fieldName rfc --sizeMax 15 --notNull --column rfc
field string --fieldName codigoPostal --sizeMax 6 --notNull --column codigo_postal
field string --fieldName telefonos --sizeMax 70 --notNull --column telefonos
field string --fieldName fax --sizeMax 25 --notNull --column fax
field string --fieldName email --sizeMax 100 --notNull --column email
field string --fieldName contacto --sizeMax 40 --notNull --column contacto
field date --fieldName fechaIngresoSistema --type java.util.Date --column fecha_ingreso_sistema
field string --fieldName comentarios --sizeMax 255 --notNull --column comentarios
field number --fieldName paisDefault --type java.lang.Long --column pais_default
field string --fieldName pagina --sizeMax 25 --notNull --column pagina

//VntCatClientes
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatClientes --plural CatsClientes --schema blade --table vnt_cat_clientes --identifierColumn id_cliente --entityFormatExpression "#{nombre}#{rfc}"
field string --fieldName cveCliente --sizeMax 15 --notNull --column cve_cliente
field string --fieldName nombre --sizeMax 70 --notNull --column nombre
field string --fieldName razonSocial --sizeMax 100 --notNull --column razon_social
field string --fieldName rfc --sizeMax 15 --notNull --column rfc
field string --fieldName tipoContribuyente --sizeMax 1 --notNull --column tipo_contribuyente
field string --fieldName calleDomicilio --sizeMax 120 --notNull --column calle_domicilio
field string --fieldName telefonoComercial --sizeMax 60 --notNull --column telefono_comercial
field string --fieldName telefonoPagos --sizeMax 60 --notNull --column telefono_pagos
field string --fieldName telefonoBodega --sizeMax 60 --notNull --column telefono_bodega
field string --fieldName telefonoVentas --sizeMax 60 --notNull --column telefono_ventas
field string --fieldName emailComercial --sizeMax 100 --notNull --column email_comercial
field string --fieldName emailPagos --sizeMax 100 --notNull --column email_pagos
field string --fieldName emailVentas --sizeMax 100 --notNull --column email_ventas
field string --fieldName emailBodega --sizeMax 100 --notNull --column email_bodega
field string --fieldName domicilioBodega --sizeMax 120 --notNull --column domicilio_bodega
field string --fieldName representanteLegal --sizeMax 35 --notNull --column representante_legal
field string --fieldName atencionVentas --sizeMax 35 --notNull --column atencion_ventas
field string --fieldName atencionPagos --sizeMax 35 --notNull --column atencion_pagos
field string --fieldName comentarios --sizeMax 255 --notNull --column 
field boolean --fieldName estatus  --column estatus 
field number --fieldName idColoniaFiscal --type int --column id_colonia_fiscal
field number --fieldName idColoniaEntregas --type int --column id_colonia_entregas
field date --fieldName ultimaActualizacion --type java.util.Date --column ultima_actualizacion
field string --fieldName cveUsuarioActualizacion --sizeMax 10 --notNull --column cve_usuario_actualizacion
field string --fieldName localizacion --sizeMax 200 --notNull --column localizacion
field boolean --fieldName moroso  --column moroso  
field date --fieldName fechaRegisto --type java.util.Date --column fecha_registro
field boolean --fieldName esProspecto  --column es_prospecto 
field date --fieldName fechaUltimoMovimiento --type java.util.Date --column fecha_ultimo_movimiento
field number --fieldName idUsoCfdi --type int --column id_uso_cfdi
field string --fieldName metodoPago --sizeMax 3 --notNull --column metodo_pago
field string --fieldName formaPago --sizeMax 3 --notNull --column forma_pago
field string --fieldName latitude --sizeMax 20 --notNull --column latitude
field string --fieldName longitude --sizeMax 20 --notNull --column longitude
field string --fieldName verificado --sizeMax 1 --notNull --column verificado
field string --fieldName imgIfe --sizeMax 200 --notNull --column img_ife
field string --fieldName imgComprobante --sizeMax 200 --notNull --column img_comprobante

//GlCatColoniasN
entity jpa --class ~.springbootbackendbiochem.model.entity.GlCatColoniasN --plural CatsColonias --schema blade --table gl_cat_colonias_n --identifierColumn id_colonia --entityFormatExpression "#{nombreColonia}"
field number --fieldName idMunicipio --type int --column id_municipio 
field string --fieldName nombreColonia --sizeMax 100 --notNull --column nombre_colonia
field string --fieldName cp --sizeMax 45 --notNull --column cp

//VntCatClientesParametros
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --plural CatsClientesParametros --schema blade --table vnt_cat_clientes_parametros --identifierColumn id_clientesparametros --entityFormatExpression "#{cveCliente}"
field string --fieldName cveCompania --sizeMax 3 --notNull --column cve_compania
field string --fieldName cveCliente --sizeMax 15 --notNull --column cve_cliente
field string --fieldName cveCentroCosto --sizeMax 30 --notNull --column cve_centro_costo
field string --fieldName tipoCliente --sizeMax 3 --notNull --column tipo_cliente
field string --fieldName giroCliente --sizeMax 1 --notNull --column giro_cliente
field number --fieldName numContrato --type java.lang.Long --column num_contrato 
field string --fieldName calificaComprador --sizeMax 1 --notNull --column califica_comprador
field string --fieldName calificaPagador --sizeMax 1 --notNull --column califica_pagador
field boolean --fieldName esProspecto --column es_prospecto
field number --fieldName diasVencimientoCartera --type int --column dias_vencimiento_cartera
field number --fieldName limiteCredito --type java.math.BigDecimal --column limite_credito
field number --fieldName minimoCompra --type java.math.BigDecimal --column minimo_compra
field number --fieldName pctDescuentoEspecial --type java.math.BigDecimal --column pct_descuento_especial 
field string --fieldName estatus --sizeMax 1 --notNull --column estatus
field string --fieldName comentarios --sizeMax 255 --notNull --column comentarios
field boolean --fieldName identificacionOficial --column identificacion_oficial 
field boolean --fieldName comprobanteDomicilio --column comprobante_domicilio 
field boolean --fieldName altaHacienda --column alta_hacienda
field boolean --fieldName actaConstitutiva --column acta_constitutiva
field boolean --fieldName rfc --column rfc
field boolean --fieldName contratoConfirmado --column contrato_confirmado 
field string --fieldName familia --sizeMax 3 --notNull --column familia
field number --fieldName idTipoCliente --type int --column id_tipo_cliente  
field number --fieldName idCrediticio --type int --column id_crediticio
field number --fieldName idImportancia --type int --column id_importancia

//VntCatPerfilClienteProductos
entity jpa --class ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --plural CatsPerfilesCLientesProductos --schema blade --table vnt_cat_perfil_cliente_productos --identifierColumn id_perfilclienteproductos --entityFormatExpression "#{familia}"
field string --fieldName familia --sizeMax 4 --notNull --column familia
field string --fieldName nombreTipoFamilia --sizeMax 55 --notNull --column nombre_tipo_familia

//VntCatClientes
focus --class ~.springbootbackendbiochem.model.entity.GlCatColoniasN
field set --fieldName CatsColoniasN --type ~.springbootbackendbiochem.model.entity.VntCatClientes --joinColumnName id_colonia --fetch EAGER

//VntCatClientesParametros
focus --class ~.springbootbackendbiochem.model.entity.GlCompanias
field set --fieldName CompaniasClientesParametros --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_compania --fetch EAGER
focus --class ~.springbootbackendbiochem.model.entity.VntCatClientes
field set --fieldName ClientesClientesParametros --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_cliente --fetch EAGER
focus --class ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos
field set --fieldName ClientesPerfilProductos --type ~.springbootbackendbiochem.model.entity.VntCatClientesParametros --joinColumnName id_perfilclienteproductos --fetch EAGER


repository jpa --all
service --all


//DTOs

dto --class ~.springbootbackendbiochem.model.entity.VntCatClientesBuscador
field string --fieldName nombre
field string --fieldName rfc

dto --class ~.springbootbackendbiochem.model.entity.GlCatColoniasNBuscador
field string --fieldName nombreColonia


//test
dto --class ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductosBuscador
field string --fieldName familia



//FINDERs
finder add --entity ~.springbootbackendbiochem.model.entity.VntCatClientes --name findByNombreAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.VntCatClientesBuscador
finder add --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN --name findByNombreColoniaAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.GlCatColoniasNBuscador

// test
finder add --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --name findByFamiliaAllIgnoreCase --formBean ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductosBuscador




web mvc setup
web mvc language --code es --useAsDefault 
web mvc view setup --type THYMELEAF
web mvc templates setup --type THYMELEAF
web mvc controller --all --responseType THYMELEAF
web mvc controller --all 

// DECLARA PARA LA PARTE WEB EL FINDER PARA UBICARLO EN EL CRUD: OJO VER EL URL AL MOMENTO DE HAPLICAR EL FILTRO
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatClientes
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatClientes --responseType THYMELEAF
web mvc finder --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN
web mvc finder --entity ~.springbootbackendbiochem.model.entity.GlCatColoniasN --responseType THYMELEAF


//test
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos
web mvc finder --entity ~.springbootbackendbiochem.model.entity.VntCatPerfilClienteProductos --responseType THYMELEAF