Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate 4.2中@OneToMany的性能-单向与双向_Java_Hibernate - Fatal编程技术网

Java Hibernate 4.2中@OneToMany的性能-单向与双向

Java Hibernate 4.2中@OneToMany的性能-单向与双向,java,hibernate,Java,Hibernate,我只需要一个单向的关系,但在性能方面,我想问什么是最佳实践 我用Junit做了一个测试,双向的结果是:1.9s和单向代码2.4s,看起来单向需要更多的时间 我正在使用Hibernate4.2.21 @单向2.4s 父类 @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "parentuni_id") private Set<ChildUni> childs; Hibe

我只需要一个单向的关系,但在性能方面,我想问什么是最佳实践

我用Junit做了一个测试,双向的结果是:1.9s和单向代码2.4s,看起来单向需要更多的时间

我正在使用Hibernate4.2.21

@单向2.4s

父类

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "parentuni_id")  
private Set<ChildUni> childs;

Hibernate: select nextval ('parentuni_seq')
Hibernate: select nextval ('childuni_seq')
Hibernate: select nextval ('childuni_seq')
Hibernate: insert into parentuni (parentuni_name, parentuni_id) values (?, ?)
Hibernate: insert into childuni (childuni_name, childuni_id) values (?, ?)
Hibernate: insert into childuni (childuni_name, childuni_id) values (?, ?)
Hibernate: update childuni set parentuni_id=? where childuni_id=?
Hibernate: update childuni set parentuni_id=? where childuni_id=?
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "parent")
private Set<Child> childs;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id", nullable = false)
private Parent parent;

Hibernate: select nextval ('parent_seq')
Hibernate: select nextval ('child_seq')
Hibernate: select nextval ('child_seq')
Hibernate: insert into parent (parent_name, parent_id) values (?, ?)
Hibernate: insert into Child (child_name, parent_id, child_id) values (?, ?, ?)
Hibernate: insert into Child (child_name, parent_id, child_id) values (?, ?, ?)
它说,在中国

偏好双向关联:

  • 单向关联更难查询。在大型应用程序中,几乎所有关联都必须能够在查询的两个方向上进行导航
有用的资料来源:

希望这有帮助