私はSpring Roo 2 M3の作業プロジェクトを持っています。私は、私がプロジェクトをブートストラップしていたときに作成したファインダとは別に、新しいファインダが必要だと気付きました。 私はカンガルーコンソールでファインダーを生成:新しいファインダーで実装が生成されない(M3)
finder add --entity ~.domain.Usuario --name findByUsername
をそれはJavaのリポジトリ
@RooFinder("findByUsername")
とリポジトリの局面では方法
public abstract Page<Usuario> UsuarioRepository.findByUsername(String username, Pageable pageable);
で右の注釈を作成したが、それはdidnのサービスでそのファインダを生成しないで、以前に生成した他のファインダと同じようにサービスを実装する必要はありません。
私は数日間それをgoogledし、私の自己それを修正しようとしたが、私は進歩しなかった。
注:これは、すでにいくつかのヶ月前に他の春のカンガルー2 M3プロジェクトに私に起こりました。私は1週間のような同じ問題を抱えていたし、多くのランダムな改ざんをした後、最終的にはルーコンソールが変更を引き起こしたが、なぜそれが働いたのか分からなかった。
EDIT: 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);
}
こんにちは!問題の再現を試みるためにサンプル "log.roo"ファイルを提供できますか?よろしく、 – jcgarcia
よく私はこのバグを再現するための条件を正確に知っていません。私がこのバグを被った2つのプロジェクトの唯一の類似点は、どちらもプロジェクトの最初のブートストラップのかなりの時間の後に新しいファインダーを追加しようとしたことです。あなたが望むなら、私はこのプロジェクトの完全なlog.rooを投稿できます。 – holyknight
問題を再現するための詳細情報を投稿することができれば嬉しいです。とにかく...新しいメソッドが生成されているかどうかを確認するためにSpring Rooシェルを閉じて再オープンしようとしましたか?よろしく、 – jcgarcia