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