Questions tagged «hibernate»

Hibernate是一种Java语言的对象关系映射(ORM)库,使开发人员能够以远远超出对象/关系映射的方式在其应用程序中使用POJO风格的域模型。

10
Hibernate中不同的保存方法之间有什么区别?
Hibernate有几种方法,它们以一种或另一种方式将您的对象放入数据库。它们之间有什么区别,何时使用它们?为什么不只有一种智能的方法知道何时使用什么? 到目前为止,我已经确定的方法是: save() update() saveOrUpdate() saveOrUpdateCopy() merge() persist()

18
如何修复org.hibernate.LazyInitializationException-无法初始化代理-没有会话
我得到以下异常: Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190) at sei.persistence.wf.entities.Element_$$_jvstc68_47.getNote(Element_$$_jvstc68_47.java) at JSON_to_XML.createBpmnRepresantation(JSON_to_XML.java:139) at JSON_to_XML.main(JSON_to_XML.java:84) 当我尝试从以下几行拨打电话时: Model subProcessModel = getModelByModelGroup(1112); System.out.println(subProcessModel.getElement().getNote()); 我getModelByModelGroup(int modelgroupid)首先实现了这样的方法: public static Model getModelByModelGroup(int modelGroupId, boolean openTransaction) { Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession(); Transaction tx = null; if …

18
在Hibernate中重新附加分离对象的正确方法是什么?
我遇到一种情况,我需要将分离的对象重新附加到休眠会话,尽管会话中可能已经存在相同标识的对象,这将导致错误。 现在,我可以做两件事之一。 getHibernateTemplate().update( obj ) 当且仅当休眠会话中不存在对象时,此方法才有效。当以后需要时,将引发异常,指出具有给定标识符的对象已在会话中存在。 getHibernateTemplate().merge( obj ) 仅当休眠会话中存在对象时,此方法才有效。如果我以后使用该对象,则当我需要该对象进入会话时,将引发异常。 在这两种情况下,如何将会话附加到对象上?我不想使用异常来控制此问题的解决方案的流程,因为必须有一个更优雅的解决方案...

8
JPA orphanRemoval = true与ON DELETE CASCADE DML子句有何不同
我对JPA 2.0 orphanRemoval属性有些困惑。 我想我可以看到,当我使用JPA提供程序的数据库生成工具来创建基础数据库DDL时,需要具有ON DELETE CASCADE特定的关系。 但是,如果数据库存在并且已经具有ON DELETE CASCADEon关系,这是否不足以适当地级联删除?orphanRemoval另外还做什么? 干杯


8
同步静态方法如何在Java中工作,我可以使用它来加载Hibernate实体吗?
如果我有一个带有静态方法的util类,它将调用Hibernate函数来完成基本数据访问。我想知道是否使该方法synchronized是确保线程安全的正确方法。 我希望这可以防止对同一数据库实例的信息访问。但是,我现在确定当getObjectById特定类调用以下代码时,是否阻止所有类调用以下代码。 public class Utils { public static synchronized Object getObjectById (Class objclass, Long id) { // call hibernate class Session session = new Configuration().configure().buildSessionFactory().openSession(); Object obj = session.load(objclass, id); session.close(); return obj; } // other static methods }


11
Hibernate vs JPA vs JDO-各自的优缺点?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我对ORM这个概念很熟悉,几年前甚至在n.ibernate项目中使用nHibernate。但是,我没有跟上Java中ORM的话题,也没有机会使用任何这些工具。 但是,现在我可能有机会开始对我们的一个应用程序使用一些ORM工具,以尝试摆脱一系列旧式Web服务。 我很难说出JPA规范之间的区别,您从Hibernate库本身获得的东西以及JDO必须提供的东西。 因此,我知道这个问题有点开放性,但是我希望就以下问题得到一些意见: 各自的优缺点是什么? 您对新项目有何建议? 在使用一个框架与另一个框架时是否存在某些条件?
174 java  hibernate  orm  jpa  jdo 

1
有人可以在JPA和Hibernate中解释MapdBy吗?
我刚冬眠,需要使用一对多和多对一关系。这是我对象中的双向关系,因此我可以从任一方向来回移动。mappedBy是推荐的解决方法,但是,我听不懂。有人可以解释: 推荐的使用方式是什么? 它解决什么目的? 就我的示例而言,这是带有注释的类: Airline 拥有许多 AirlineFlights 许多 AirlineFlights属于一个 Airline 航空公司: @Entity @Table(name="Airline") public class Airline { private Integer idAirline; private String name; private String code; private String aliasName; private Set<AirlineFlight> airlineFlights = new HashSet<AirlineFlight>(0); public Airline(){} public Airline(String name, String code, String aliasName, Set<AirlineFlight> flights) { setName(name); setCode(code); setAliasName(aliasName); …

4
如何使用Jackson更改JSON中的字段名称
我正在使用杰克逊将我的对象转换为json。该对象具有2个字段: @Entity public class City { @id Long id; String name; public String getName() { return name; } public void setName(String name){ this.name = name; } public Long getId() { return id; } public void setName(Long id){ this.id = id; } } 由于我想将其与jQuery自动完成功能一起使用,因此我希望“ id”在json中显示为“ value”,在“ name”中显示为“ label”。杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让name显示为label,并id显示为value在JSON。 有谁知道该怎么做?

6
双向JPA OneToMany / ManyToOne关联中的“关联的反面”是什么?
在@OneToManyJPA注释参考的示例部分中: 示例1-59 @OneToMany-具有泛型的客户类 @Entity public class Customer implements Serializable { ... @OneToMany(cascade=ALL, mappedBy="customer") public Set<Order> getOrders() { return orders; } ... } 示例1-60 @ManyToOne-具有泛型的Order类 @Entity public class Order implements Serializable { ... @ManyToOne @JoinColumn(name="CUST_ID", nullable=false) public Customer getCustomer() { return customer; } ... } 在我看来,Customer实体是协会的所有者。但是,在mappedBy同一文档中对属性的解释中写道: 如果关系是双向的,则将关联的反(非所有权)侧的maptedBy元素设置为拥有该关系的字段或属性的名称,如示例1-60所示。 但是,如果我没有记错的话,那么在示例中,mappedBy实际上是在关联的拥有方而不是非拥有方中指定的。 所以我的问题基本上是: 在双向(一对多/多对一)关联中,所有者是哪个实体?我们如何指定一方为所有者?我们如何指定“多方”作为所有者? “关联的反面”是什么意思?我们如何将一侧指定为逆?我们如何将“多面”指定为反面?


10
如何将Hibernate代理转换为真实实体对象
在Hibernate期间Session,我正在加载一些对象,由于延迟加载,它们中的一些已作为代理加载。一切正常,我不想关闭延迟加载。 但是稍后我需要通过RPC将一些对象(实际上是一个对象)发送到GWT客户端。碰巧这个具体对象是代理。所以我需要将其变成一个真实的对象。我在Hibernate中找不到类似“实现”的方法。 我如何才能将某些对象从代理变为真实,从而知道它们的类和ID? 目前,我看到的唯一解决方案是从Hibernate的缓存中逐出该对象并重新加载它,但是由于许多原因,它确实很糟糕。

8
Apache Commons等于/ hashCode构建器
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 3年前关闭。 改善这个问题 我很好奇,这里的人们对使用org.apache.commons.lang.builder EqualsBuilder/ HashCodeBuilder 实施equals/有hashCode什么看法 ?比编写自己的方法更好吗?它与Hibernate配合使用是否很好?你怎么看?

4
javax.transaction.Transactional与org.springframework.transaction.annotation.Transactional
我不明白注释javax.transaction.Transactional和之间的实际区别是什么org.springframework.transaction.annotation.Transactional? 是org.springframework.transaction.annotation.Transactional扩展名javax.transaction.Transactional还是它们具有完全不同的含义?什么时候应该使用它们?@Transactinal在服务层中使用Spring ,在DAO 中使用javax? 谢谢回答。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.