我正在尝试将 Spring-Data-JPA 合并到我的项目中。 让我困惑的一件事是如何通过注释实现 setMaxResults (n) ?
例如,我的代码:
public interface UserRepository extends CrudRepository<User , Long>
{
@Query(value="From User u where u.otherObj = ?1 ")
public User findByOtherObj(OtherObj otherObj);
}
我只需要从 other Obj 返回 one (and only one)
User,但是我找不到注释 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