相关疑难解决方法(0)

@ManyToOne(fetch = FetchType.LAZY)不适用于非主键引用列

我有一些麻烦要让@ManyToOne关联加载lazilly.我正在使用fetch = LAZY但是当主键列没有进行连接时它不起作用.

我知道这个问题已被提出但我认为没有得到妥善回答,因此我提供了详细信息以澄清问题.

这是我的模特:

DummyB -> DummyA
Run Code Online (Sandbox Code Playgroud)

这些是表格:

create table dummyA  (
  id number(18,0), --pk
  name varchar2(20) -- unique field
);

create table dummyB  (
  id number(18,0),
  dummya_id number(18,0),
  dummya_name varchar2(20)
);
Run Code Online (Sandbox Code Playgroud)

这些是实体:

@Entity
public class DummyA implements Serializable {

    private Long id;
    private String name;

    @Id
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

11
推荐指数
3
解决办法
7612
查看次数

Hibernate延迟加载反向一对一解决方法 - 这是如何工作的?

今天我遇到问题,延迟加载在使用映射集合时无法正常工作.我发现这篇优秀的文章似乎解决了这个问题

http://justonjava.blogspot.co.uk/2010/09/lazy-one-to-one-and-one-to-many.html

我不明白的一件事是使用FieldHandled的解决方法是如何工作的.任何人都可以帮我理解这个吗?有问题的代码如下(从链接上的示例中复制):

@Entity
public class Animal implements FieldHandled {
   private Person owner;
   private FieldHandler fieldHandler;

   @OneToOne(fetch = FetchType.LAZY, optional = true, mappedBy = "animal")
   @LazyToOne(LazyToOneOption.NO_PROXY)
   public Person getOwner() {
     if (fieldHandler != null) {
        return (Person) fieldHandler.readObject(this, "owner", owner);
     }
     return owner;
   }

   public void setOwner(Person owner) {
     if (fieldHandler != null) {
       this.owner = fieldHandler.writeObject(this, "owner", this.owner, owner);
       return;
     }
     this.owner = owner;
   }

   public FieldHandler getFieldHandler() {
     return fieldHandler;
   }

   public void setFieldHandler(FieldHandler fieldHandler) {
     this.fieldHandler = …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-mapping

7
推荐指数
2
解决办法
7833
查看次数

标签 统计

hibernate ×2

hibernate-mapping ×1

java ×1

jpa ×1