簡體   English   中英

Hibernate 4.3.x和4.2.x之間是否在對抽象實現的類進行水合的方式上有所變化

[英]Is there a change between Hibernate 4.3.x and 4.2.x in how they hydrate abstract implemented classes

我們最近從Hibernate 4.2.12升級到4.3.5,並且在升級后,由於以下錯誤,抽象類​​開始失敗:

Request processing failed; nested exception is javax.persistence.EntityNotFoundException: Unable to find com.siftit.domain.core.user.User with id 138

用戶實際上已經存在,並且就像我說的那樣在4.2.12中有效,但是一旦我們升級到4.3.5,它就會失敗,但是如果我們將用戶更改為特定類型(即SomeUser),則get可以正常工作。

我們正在使用:

春季:4.0.3.RELEASE

春季數據:1.5.1.RELEASE

JPA:1.2

@MappedSuperclass
public class AbstractEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id", nullable = false)
    protected Long id;
}

@Entity
@Table(name = "user")
@Inheritance(strategy= InheritanceType.JOINED)
public abstract class User extends AbstractEntity {
}

@Entity
@Table(name="someUser")
public class SomeUser extends User {
}

@Entity
@Table(name="someClass")
public class SomeClass extends AbstractEntity {
    @ManyToOne
    User user;

   public User getUser(){ return user;} //This is really a restaurant user that should fill this and if we map it as a restaurant user, everything works, but if we keep it mapped as user it fails.
}

從4.2.7升級到4.3.5時遇到了同樣的問題。 使用InheritanceType.SINGLE_TABLE而不是InheritanceType.JOINED為我解決了此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM