草庐IT

Hibernate-Session

全部标签

java - 如何强制 Hibernate 3.3 或 3.5 使用 CGLib 而不是 Javassist?

是否仍然可以强制Hibernate3.3或3.5使用CGLib而不是Javassist?在我的属性文件中,我设置了hibernate.bytecode.provider=cglib但这好像不行。有什么想法吗? 最佳答案 似乎有些人没有正确阅读我的回答,所以我会重新措辞:您的hibernate.properties看起来是正确的,该属性定义明确,它应该可以工作。所以,很抱歉这个问题,但是CGlib在类路径上吗?更新:刚刚测试并且对我有效。这是我在初始化时得到的输出:15[main]INFOorg.hibernate.cfg.Envir

java - JPA(Hibernate)列映射中的原始类和包装类之间有什么区别?

例如,数据库表中有一个整数列。那么在java模型中,既可以映射为primitiveint,也可以映射为Integer。我的问题是在这种情况下int和Integer之间有什么区别?和性能问题?谢谢! 最佳答案 我倾向于避免使用原语。对于Id属性尤其如此。这使得可以通过测试null来检测尚未设置的值。如果使用Java5或更高版本,自动装箱会消除痛苦(并且不是性能问题)。但也适用于其他属性。正如@skaffman所指出的,基元不适用于可为空的列,我希望代码尽可能灵活。 关于java-JPA(H

java - Maven:hibernate-entitymanager 和 javaee-api 一起破坏了我的单元测试

我的pom中有两个依赖项javaee-api和hibernate-entitymanager。但它们不能很好地协同工作:一旦我添加javaee-api,我的所有单元测试都会因java.lang.ClassFormatError:AbsentCodeattributeinmethodthatisnotnativeorabstractinmethodinclassfilejavax而中断/验证/验证。没有javaee-api,一切正常。这是为什么?(已编辑此问题以解决问题;)) 最佳答案 MavenDependencies没有顺序,但是

java - JVM 远程调试 session 因未捕获的异常而终止

我正在尝试远程调试Scala项目。执行程序(从SBT构建和执行)和我的调试器(Intellij)都是本地的,但由于我不想使用Intellij构建,使用远程调试session似乎是方便调试的最简单选择。程序以下列选项启动:-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005它在启动时成功挂起,我可以成功附加我的调试器。我可以设置断点并逐步执行代码,但问题是未捕获的异常终止了调试session并断开了调试器,从而破坏了调试的目的。这是默认行为是愚蠢的,所以我一定是做错了什么。Intellij的控制台显示:C

java - hibernate 映射 : OneToMany and OneToOne on child object property

这是父类Enterprise。它有雇主,其中一位是企业总裁。@EntityclassEnterprise{//fields@OneToManypublicListgetEmployers()//implementation@OneToOnepublicEmployeegetPresident()//implementation}这是子Employee类。它只有关于他工作的Enterprise的信息。但问题是我应该使用什么关联?@EntityclassEmployee{//fields//whatassociationshouldIuse?publicEnterprisegetEnter

java - 乐观锁定和 org.hibernate.StaleObjectStateException :

我只是在尝试乐观锁定。我有以下类(class):@EntitypublicclassStudent{privateIntegerid;privateStringfirstName;privateStringlastName;privateIntegerversion;@VersionpublicIntegergetVersion(){returnversion;}//allothergettersommited.}现在我正在获取其中一名学生并尝试同时更新其属性。Threadt1=newThread(newMyRunnable(id));Threadt2=newThread(newMyR

java - 让 DbUnit 与 Hibernate 事务一起工作

我在尝试将Hibernate事务中所做的更改推送到数据库以使DbUnit在我的测试用例中正常工作时遇到问题。似乎DbUnit没有看到Hibernate所做的更改,因为它们尚未在事务结束时提交......而且我不确定如何重组我的测试用例以使其正常工作。这是我过度简化的测试用例来证明我的问题:-@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContext-test.xml"})@TransactionConfiguration(transaction

java - 如何为我的 Spring 3/Hibernate 4 LocalSessionFactoryBean 设置事件监听器?

我正在使用Spring3.1.0.RELEASE和Hibernate4.0.1.Final。如何为我的SessionFactory设置事件监听器?最终,我试图在这个线程--InjectingfieldsviaSpringintoentitiesloadedbyHibernate之后将一个bean注入(inject)到Hibernate实体中。但是,这是失败的,但出现以下异常。我的配置文件看起来像classpath:hibernate.cfg.xml-->com.myco.myproject.domain.Registrationcom.myco.myproject.domain.Rol

java - Hibernate 是否必须驱动数据库设计?

我昨天一整天都在阅读关于Hibernate的各种文章/教程,虽然我被它的强大所震撼,但我对它有一个主要的担忧。似乎标准做法是允许Hibernate为您设计/生成您的DB模式,这是一个令我窒息的新概念和可怕概念。从我阅读的教程中,您只需将一个新实体添加到您的hibernate.cfg.xml配置文件,使用@Entity注释您想要的任何POJO,然后瞧-Hibernate创建给你的表。虽然这很酷,但它让我想知道一些场景:如果您已经有一个DB模式,而Hibernate想要为您生成的模式不符合该模式怎么办?如果您有一个疯狂的DBA拒绝在预定义(非Hibernate)模式上让步怎么办?如果您有包

java - Hibernate 查询语法异常 : org. hibernate.hql.ast.QuerySyntaxException: unexpected token

我有一个查询,我要连接两个表ROuteMaster和RouteHalts。当我执行内部连接时,我得到了org.hibernate.hql.ast.QuerySyntaxException:unexpectedtoken:onnearline1,column169[SELECTrm.id,rm.routeCode,rm.startPlaceId,rm.endPlaceId,rm.active,rm.linkedRouteFROMcom.oprs.pojo.routes.RouteMasterrmINNERJOINRouteHaltsrhonrm.id=rh.routeIdWHERErh.