hibernate-commons-annotations
全部标签 我们有一个使用spring/Hibernate/MySQL构建的应用程序,现在我们想测试DAO层,但这里有一些我们面临的缺点。考虑多个对象相互连接的用例,例如:书有页。没有Book就不能存在Page对象,因为book_id是Page中的强制FK。为了测试页面,我必须创建一本书。这个简单的用例很容易管理,但是如果你开始构建一个库,直到你没有创建围绕Book和Page的整个宇宙,你才能测试它!所以要测试Page;创建图书馆创建部分创建流派创建作者创建书籍创建页面现在测试页面。有没有一种简单的方法可以绕过这个“universecreation”并单独测试页面对象。我还希望能够测试与Page相
有谁知道是否可以让Hibernate使用1作为新对象的版本(乐观锁定字段)而不是零?我的应用程序以前使用的是从1开始的Eclipselink,更改导致了一些问题。我正在使用JPA,但希望任何解决方案都是特定于Hibernate的(希望是persistence.xml中的一个属性!)。 最佳答案 问得好,文档中没有明确提及(eventhoughithintsthatit'spossible)。我也找不到针对这种情况的任何测试,因此,这可能是对Hibernate测试套件的一个很好的改进;-)无论如何,如果您将@Version属性映射到起
我正在使用来自ApacheCommonsCodec的URLCodec对URL进行编码,但它将空格编码为+而不是%20为什么?什么是解决方案? 最佳答案 Seethisrelatedquestion当然,如果需要(编码后),您可以随时执行url.replace("+","%20"); 关于java-为什么apache-commonslib编码空间为+而不是%20?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
我们如何配置,以便在基于SpringMVC的Web应用程序中通过JMX获取Hibernate统计信息。有没有更好的方法来跟踪Hibernate性能。 最佳答案 将hibernate.generate_statistics设置为true(在persistence.xml或hibernate.cfg.xml中或者在你的session工厂bean配置中)。然后注册这个bean:(如果您不使用JPA,只需指定您的sessionFactorybean而不是通过EMF获取它)最后您需要一个mbean服务器和导出器:
我使用Hibernate访问遗留数据库。对于某些表,未强制执行父子引用完整性,并且子表中的某些“父”列使用long0值而不是NULL来表示“无父”。我仍然想在@ManyToOne和@OneToMany字段中使用这些关系,但是得到EntityNotFound错误,因为0值不对应到主表中的任何记录。我有哪些选择? 最佳答案 使用NotFound注释:@NotFound(action=NotFoundAction.IGNORE)参见http://docs.jboss.org/hibernate/core/3.6/reference/en-
有没有办法知道JUnit4测试类是否由测试套件启动?我有全局的东西,我想在所有测试之前运行(关于内存数据库),所以我想在测试服中做它。但是,我仍然希望能够在没有测试服的情况下一次启动一个测试,所以我需要知道我是否需要在测试的@Before部分初始化全局事物......有人知道吗如果它是可能的? 最佳答案 有几种方法可以实现这一点。最简单和最简单的方法是在套件的开始和结束时运行一个“测试”,它会设置您的数据库,然后设置一个全局标志。在您的@Before和@After测试中,您检查此标志,并在必要时进行设置/拆卸。@RunWith(Su
我对使用hibernate委托(delegate)给未初始化对象的hashCode()有问题。我的数据模型如下所示(以下代码经过高度修剪以强调问题并因此损坏,请勿复制!):classCompound{@FetchType.EAGERSetparts=newHashSet();StringsomeUniqueName;publicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((getSomeUniqueName()==null)?0:getSomeUniqueName().hashCode());retur
在纯Hibernate中我可以做到:Blobblob=Hibernate.getLobCreator(sessionFactory.getCurrentSession()).createBlob(inputStream,len);如何在jpa中执行此操作(使用hibernate作为提供程序)?在纯hibernate中,我为blob创建了用户类型,它使用了setBinaryStream准备语句。这个解决方案非常适合我,我正在寻找一种方法将它移植到JPA。 最佳答案 您可以在持久属性(AnnotationLob)上使用@Lob注释:@E
我正在尝试使用Hibernate注释。当我尝试使用级联时,我在Eclipseintellisense中得到两个选项:javax.persistence.CascadeTypeandorg.hibernate.annotations.CascadeType在hibernateCascadeType中,提供了比JPA中更多的选项。有什么优势吗? 最佳答案 javax.persistence注释是标准规范。hibernate注解代表了Hibernate的具体实现。它们大多重叠,但HibernateCascadeType提供了一些特定于Hi
我写过这样的HQL查询:SELECTaFROMAaLEFTJOINa.bwhere...Hibernate生成这样的sql查询:SELECTaFROMAaLEFTJOINa.bwherea.b_id=b.id(+)但是当我写这样的东西时:SELECTaFROMwherea.b.id>5它生成SQL:SELECTa.*FROMAbcrossjoinBbwhereb.id>5所以当我结合这些方法时,我收到Oracle错误:SQLError:25156,SQLState:99999ORA-25156:oldstyleouterjoin(+)cannotbeusedwithANSIjoins那