【发布时间】:2017-08-04 06:21:01
【问题描述】:
我知道这很奇怪,但我遇到了这个问题。 我有一个简单的 pojo 类并使用 struts+hibernate,我正在通过 JPA 更新一个 oracle 表。我使用的唯一棘手的事情是 oracle 序列 在每个插入查询之前调用。
但是当我使用 hbm.xml 文件时,与注释映射相比,它给出的结果非常快。我想切换到注释,任何人都可以知道可能是什么原因。
hbm.xml 文件是这样的
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="com.myproject.VersionSequence"
table="Version_Sequence"
dynamic-update="true">
<meta attribute="sync-DAO">false</meta>
<id name="id" column="ID" type="java.lang.Long">
<generator class="sequence">
<param name="sequence">Oracle_Sequence</param>
</generator>
</id>
<property name="version" column="VERSION" type="java.lang.Long" not-null="true" />
.
.
.
.
</class>
</hibernate-mapping>
上述xml文件的注解对应文件
@Entity
@Table(name="Version_Sequence")
public class VersionSequence implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "Oracle_Sequence")
@GenericGenerator(name = "Oracle_Sequence",
strategy = "sequence-identity",
parameters = { @Parameter(name = "sequence", value = "Oracle_Sequence") })
@Column(name = "ID")
private Long id;
@Column(name = "VERSION")
private Long version;
.
.
.
// getter/seeters
}
【问题讨论】:
标签: java performance hibernate jpa hibernate-annotations