настройка свойств гибернации в hyperjaxb
Конфигурация по умолчаниюhyperjaxb
создает спящие аннотации, которые приводят кhibernate
аннотации, которые производят невероятно многословныйSQL
заявления, которые приводят кSQLException
в худшем случае и медленная производительность в лучшем случае. В частности,CascadeType.ALL
настройка, кажется, по умолчанию. Как переопределить настройки по умолчанию, чтобыCascadeType
, FetchType
, а другие параметры настраиваются на заказ? И возможно ли установить эти переменные по умолчанию на глобальном уровне, чтобы мне не приходилось менять каждую из многих сотен ссылок в моем файле schema.xsd?
Вот пример.Hyperjaxb
генерирует следующееhibernate
аннотация:
@ManyToOne(targetEntity = Code.class, cascade = {
CascadeType.ALL
})
@JoinColumn(name = "SOME_CODE1_P_0")
public Code getSomeCode1() {
return someCode1;
}
из следующего фрагмента схемы:
<xs:complexType name="SomeTypeName">
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="someCode1" type="Code" minOccurs="0"/>
<xs:element name="someCode2" type="Code" minOccurs="0"/>
<xs:element name="someCode3" type="Code" minOccurs="0"/>
<xs:element name="someCode4" type="Code" minOccurs="0"/>
<xs:element name="someCode5" type="Code" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Code">
<!--<xs:sequence>elements with nested data types omitted for simplicity</xs:sequence>-->
<xs:attribute name="code" type="xs:string" use="optional"></xs:attribute>
<xs:attribute name="Name" type="xs:string" use="optional"></xs:attribute>
</xs:complexType>