Ich weiß es seltsam, aber ich habe dieses Problem. Ich habe eine einfache Pojo-Klasse und mit Struts + Hibernate, ich aktualisiere eine Oracle-Tabelle durch JPA. Die einzige knifflige Sache, die ich benutze, ist Orakel-Sequenz, die vor jeder Einfüge-Abfrage aufgerufen wird.Hibernate Annotation Mapping dauert länger als hbm.xml Mapping
Aber wenn ich hbm.xml-Datei verwenden, gibt es Ergebnis sehr schnell im Vergleich zu Annotation Mapping. Ich möchte zur Annotation wechseln, kann jemand eine Idee haben, was die Ursache sein kann.
hbm.xml Datei ist so etwas wie diese
<?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>
Annotation entspricht Datei für über XML-Datei
@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
}