2017-02-26 3 views
0

私は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); 

} 
+0

こんにちは!問題の再現を試みるためにサンプル "log.roo"ファイルを提供できますか?よろしく、 – jcgarcia

+0

よく私はこのバグを再現するための条件を正確に知っていません。私がこのバグを被った2つのプロジェクトの唯一の類似点は、どちらもプロジェクトの最初のブートストラップのかなりの時間の後に新しいファインダーを追加しようとしたことです。あなたが望むなら、私はこのプロジェクトの完全なlog.rooを投稿できます。 – holyknight

+0

問題を再現するための詳細情報を投稿することができれば嬉しいです。とにかく...新しいメソッドが生成されているかどうかを確認するためにSpring Rooシェルを閉じて再オープンしようとしましたか?よろしく、 – jcgarcia

答えて

2

後にした後、あなたの問題を分析するには、のように思えますSpring Roo 2.0.0.M3メタデータリスナーaffecの問題新しいファインダーが含まれている場合はサービス生成に移行します。

この問題はSpring Roo 2.0.0.RC1で修正され、すぐに公開されます。

とにかく、findByUsernameメソッドのpush-inを作成すると、サービスインターフェイスとサービス実装にそれが含まれている必要があります。

問題がある場合は教えてください。

希望すると、

+0

私はそれを試み、あなたに知らせるでしょう。ありがとう – holyknight

+0

私はファインダーメソッドを押してみましたが、シェル上の変更を引き起こしませんでした。私はまた、ユーザーのリポジトリ全体を押し込んでみましたが、何の違いもありませんでした。 (私は郵便のプッシュインの結果を追加しました) – holyknight

+0

心配しないでください。私はあなたの問題をROO 2.0.0.BUILD-SNAPSHOT(RC1バージョンとなる現在の開発バージョン)でチェックしていましたが、修正されました!よろしく、 – jcgarcia

関連する問題