Я знаю, что это странно, но у меня такая проблема. У меня есть один простой класс pojo, и с помощью struts+hibernate я обновляю таблицу оракула через JPA. единственная сложная вещь, которую я использую, - это последовательность оракула, которая вызывается перед каждым запросом на вставку.
Но когда я использую файл 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
}