Ich versuche, Spring-Data-JPA in mein Projekt einzubeziehen. Eine Sache, die mich verwirrt, ist, wie ich setMaxResults (n) durch Annotation erreiche.
Zum Beispiel mein Code:
public interface UserRepository extends CrudRepository<User , Long>
{
@Query(value="From User u where u.otherObj = ?1 ")
public User findByOhterObj(OtherObj otherObj);
}
Ich muss nur one (and only one)User von otherObj zurückgeben, kann aber keine Möglichkeit finden, die maxResults mit Anmerkungen zu versehen. Kann mir jemand einen Hinweis geben?
(MySQL beschwert sich:
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
)
Ich habe einen Link gefunden: https://jira.springsource.org/browse/DATAJPA-147 . Ich habe es versucht, bin aber gescheitert. Es scheint jetzt nicht möglich? Warum ist eine so wichtige Funktion nicht in Spring-Data integriert?
Wenn ich diese Funktion manuell implementiere:
public class UserRepositoryImpl implements UserRepository
Ich muss Tonnen von vordefinierten Methoden implementieren CrudRepository, das wäre schrecklich.
Umgebungen: spring-3.1, spring-data-jpa-1.0.3.RELEASE.jar, spring-data-commons-core-1.1.0.RELEASE.jar