私はPerseusプロジェクト(Open Source Code)のソースコードをUbuntu 14.04とTomcat 6にダウンロードしてインストールしました。プロジェクトは何年もの間修正されていないので、これを行うハイバーネーションの新機能でなければなりません。大規模なプロジェクトで「オブジェクト参照を保存していない一時インスタンスを修正する - フラッシュする前に一時インスタンスを保存する」はどうすればできますか?
ここでは非常に多くのスレッドで解決策を見ていますが、「一度に」機能していたプロジェクトを移行するのではなく、デバッグコードの問題に対処しています。私が使っているコードは、2008年から2011年にかけて修正されていません。 (私は彼らが今 "Mandriva Linux 2010.2"でそれを実行していると判断しました)したがって、この問題を検索/置換メソッドか設定ファイルの変更のいずれかで大規模に修正できる必要があります。私は自分自身で休止状態を使用していないので、投稿された回答の完全な意味を理解していません。
ありがとうございました。
また、ファイルでは@アノテーション付きの構文は使用されませんが、マッピングはXMLファイルで行われているようです。この時点で、何を変更すべきか分かっていれば、これらのファイルをすべて更新するだけでよいでしょう。
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="perseus.document.dao">
<class name="HibernateChunkDAO$ChunkRow" table="hib_chunks" batch-size="10">
<id name="id" type="int" column="id" unsaved-value="null">
<generator class="native" />
</id>
<property name="documentID" column="document_id" type="string"
length="50" index="doc_idx doc_type_idx doc_type_value_idx
doc_cid_idx doc_so_eo_idx doc_so_eo_type_idx doc_dq_idx
doc_so_eo_type_val_idx" />
<property name="elementName" column="element" type="string"
length="20" />
<property name="type" column="type" type="string" length="30"
index="doc_type_idx doc_type_value_idx doc_so_eo_type_idx
doc_so_eo_type_val_idx" />
<property name="value" column="value" type="string" length="250"
index="doc_type_value_idx doc_so_eo_type_val_idx" />
<property name="position" column="position" type="int" />
<property name="absolutePosition" column="abs_position" type="int" />
<property name="chunkID" column="chunk_id" type="string"
length="255" index="doc_cid_idx" />
<property name="openTags" column="open_tags" type="text" />
<property name="closeTags" column="close_tags" type="text" />
<property name="startOffset" column="start_offset" type="int"
index="doc_so_eo_idx doc_so_eo_type_idx doc_so_eo_type_val_idx" />
<property name="endOffset" column="end_offset" type="int"
index="doc_so_eo_idx doc_so_eo_type_idx doc_so_eo_type_val_idx" />
<property name="displayQuery" column="display_query" type="string"
length="100" index="doc_dq_idx" />
<property name="head" column="head" type="text" />
<property name="headLanguage" column="head_lang" type="string"
length="10" />
<property name="hasCustomHead" column="custom_head" type="boolean" />
<set name="frequencies" inverse="true" cascade="all-delete-orphan"
lazy="true" batch-size="30">
<key column="chunk_id" on-delete="cascade" />
<one-to-many class="perseus.ie.freq.Frequency" />
</set>
<many-to-one name="lemma" column="lemma_id" cascade="all" lazy="false" />
<!--
<list name="senses" inverse="false" cascade="all-delete-orphan"
lazy="false" batch-size="30">
<key column="chunk_id" />
<list-index column="position" />
<one-to-many class="perseus.voting.Sense" />
</list>
-->
</class>
</hibernate-mapping>
私は上記のXML定義ファイルを更新しました。私はカスケード= CascadeType.ALLを追加する必要がある場所を指摘できますか? – user1122069