小编Ste*_*eve的帖子

如何让Hibernate Filters在JPA中工作?

我有以下实体类:


@Entity
@FilterDef (name = "byLastName", parameters = @Parameter (name = "lastName", type="string"))
@Filters ({
    @Filter (name = "byLastName", condition = "lastName = :lastName")
})
public class User {
    String firstName;
    String lastName;
}
Run Code Online (Sandbox Code Playgroud)

在我的DAO中,我这样做:


public User findById (Long id)
{
   Session s = (Session) em.getDelegate ( );
   s.enableFilter ("byLastName").setParameter ("lastName", "smith");

   User u = em.find (User.class, id);
   return (u);
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我正确理解了这一点,那么应该应用过滤器,如果lastName不等于"smith",我尝试检索的任何用户都应该返回null.问题是过滤器似乎没有应用.我尝试从数据库中检索的任何用户,无论lastName的值是什么,都会被返回.

我误解过滤器是如何工作的吗?或者我错过了我如何配置的内容?请注意,我没有使用hibernate.cfg.xml; 使用JPA和注释为我配置了所有内容.

任何帮助将不胜感激.

谢谢.

hibernate hibernate-annotations

5
推荐指数
1
解决办法
6352
查看次数

同步ASIHTTPRequest

我有一个iPhone应用程序,它使用ASIHTTPRequest与我服务器上的REST服务进行通信.当我在模拟器上运行时,它工作正常,但是当我进入手机本身时,我会得到奇怪的行为.

我第一次点击启动请求的按钮,我立即得到结果,一切都很好.从那时起,当我单击按钮启动连接时,连接大约需要2-3分钟.几乎看起来我首先开始的ASIHTTPRequest(并且我已经收到了正确的结果)还没有完成.在开始下一个请求之前,是否需要使用某种魔法来终止原始请求?我假设自从-start方法返回后,我从服务器得到原始请求完成的结果,我可以启动另一个.

有任何想法吗?

谢谢

--Steve

iphone asihttprequest

4
推荐指数
1
解决办法
5559
查看次数

对 Gradle 删除任务感到困惑

我目前正在学习 Gradle,所以这可能是一个简单的问题,但我似乎无法理解。

我需要在我的 gradle 构建中创建一个任务来删除一组中间文件。经过一番谷歌搜索后,我尝试了以下方法:

task deleteTest (type: Delete) {
    doLast {
        delete fileTree ('src/main/gen') {
            include '**/*'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这没有效果,因为当我运行任务时,“src/main/gen”目录中的所有文件仍然存在。通过阅读各种网站,这似乎是正确的方法,但它就是行不通。

只是为了笑,我尝试过:

task deleteTest (type: Delete) {
    delete fileTree ('src/main/gen') {
        include '**/*'
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,所有文件都从目录中删除(尽管它留下了空的子目录,我也不明白)。但据我所知,这不是正确的方法,因为它在配置期间执行,而不是在执行期间执行。

有人可以向我解释一下吗?显然,对于 Gradle,尤其是这个问题,我并没有很理解。

gradle

3
推荐指数
1
解决办法
3367
查看次数

Hibernate:"ClassNotFoundException:javax.persistence.spi.ProviderUtil"

我的应用程序正在尝试使用Hibernate注释.我已经安装了3.5.0版本的Hibernate,但是当我尝试加载我的应用程序时,我得到以下异常:

junit.framework.AssertionFailedError: Exception in constructor: testSubscriber (java.lang.NoClassDefFoundError: javax/persistence/spi/ProviderUtil
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.newInstance0(Class.java:326)
    at java.lang.Class.newInstance(Class.java:308)
    at javax.persistence.Persistence.findAllProviders(Persistence.java:79)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
    at com.upod.dao.SubscriberDAOTest.<init>(SubscriberDAOTest.java:32)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at junit.framework.TestSuite.createTest(TestSuite.java:58)
    at junit.framework.TestSuite.addTestMethod(TestSuite.java:280)
    at junit.framework.TestSuite.<init>(TestSuite.java:140)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.ClassNotFoundException: javax.persistence.spi.ProviderUtil
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)
    ... 22 more
)
    at junit.framework.Assert.fail(Assert.java:47)
    at …
Run Code Online (Sandbox Code Playgroud)

java orm annotations hibernate jpa

2
推荐指数
1
解决办法
1万
查看次数