草庐IT

Hibernate

全部标签

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 - 如何添加和忽略 json 响应的字段

我正在使用RestEasy和hibernate在Jackson中返回响应。我有一个具有字段的beanPlayer:name、id、age、position。现在,我正在实现两个GETrest方法来返回json。getPlayer(),返回一个玩家:姓名、ID、年龄、位置。getPlayers(),返回一个玩家列表,但是对于这个玩家列表,我不想返回位置。我的意思是,我如何为一个响应添加一个字段而为另一个响应忽略它。请提出建议。谢谢 最佳答案 您应该在POJOgetter上使用@JsonIgnore注释。http://jackson.c

java - 使用带有多对多映射的 QueryDSL JPA 编写查询

我在使用QueryDSL创建查询时遇到问题。我想通过其ID检索某个用户的所有组。这是如何工作的?publicListfindGroupsByUser(IntegeruserId){JPQLQueryquery=newJPAQuery(getEntityManager());??????returnresult;}映射类:@Entity(name="user")publicclassUser{@Idprivateintid;privateStringlogin;@ManyToMany@JoinTable(name="user2group",joinColumns=@JoinColumn(

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.

java - 构建 EntityManagerFactory 后如何获取 Hibernate 配置?

我的Web框架(Play1.2.5)创建了一个EJB3Configuration本地方法,该方法用于创建EntityManagerFactory(source).我正在编写一个脚本,并希望从配置中运行generateSchemaUpdateScript()方法来制作我可以验证并在生产部署中运行的SQL脚本。我遇到的问题是,在构建EntityManagerFactory之后,我无法弄清楚如何访问已使用的Configuration对象或如何生成Configuration对象。 最佳答案 您无法从entitymanagerfactory取

java - 有没有办法在没有 DTO 的情况下将 Hibernate 实体公开为 RESTful 资源?

我正在开发一个简单的网络应用程序,它将域模型公开为RESTful资源。我计划使用JPA2(Hibernate)和SpringMVCREST支持。在将Hibernate实体编码为XML/JSON时,如果实体被分离,它将为惰性子关联抛出LazyLoadingException。如果实体仍然附加到HibernateSession,它几乎会加载整个数据库。我尝试使用DozerCustomFieldMapper来确定该属性是否为未加载的惰性HibernateCollection,然后返回NULL。但如果我们有双向关联,Hibernate会急切地加载多对一端,Dozer将尝试复制属性,这将以无限循