Spring-Data-JPA を自分のプロジェクトに取り込もうとしています。私を混乱させることの 1 つは、注釈によって setMaxResults(n) を達成する方法です。
たとえば、私のコード:
public interface UserRepository extends CrudRepository<User , Long>
{
@Query(value="From User u where u.otherObj = ?1 ")
public User findByOtherObj(OtherObj otherObj);
}
user を otherObjから返す必要があるだけですがone (and only one)
、maxResults に注釈を付ける方法が見つかりません。誰かが私にヒントを与えることができますか?
(mysqlは不平を言います:
com.mysql.jdbc.JDBC4PreparedStatement@5add5415: select user0_.id as id100_, user0_.created as created100_ from User user0_ where user0_.id=2 limit ** NOT SPECIFIED **
WARN util.JDBCExceptionReporter - SQL Error: 0, SQLState: 07001
ERROR util.JDBCExceptionReporter - No value specified for parameter 2
)
リンクを見つけました: https://jira.springsource.org/browse/DATAJPA-147、試してみましたが失敗しました。今は無理っぽい?このような重要な機能が Spring-Data に組み込まれていないのはなぜですか?
この機能を手動で実装する場合:
public class UserRepositoryImpl implements UserRepository
に大量の事前定義されたメソッドを実装CrudRepository
する必要があります。これはひどいことです。
環境: spring-3.1 、 spring-data-jpa-1.0.3.RELEASE.jar 、 spring-data-commons-core-1.1.0.RELEASE.jar