簡體   English   中英

休眠不更新(合並)對象

[英]Hibernate not updating (merging) object

我的標簽對象使我發瘋。 我正在嘗試更新它,每次執行所有操作似乎都正常,直到檢查數據庫並且它沒有更新為止。

我正在打開所有日志記錄,但是看不到任何異常。

即使我創建了全新的對象並嘗試在此之后更新(或合並),它也不會顯示在數據庫中。 它將創建新對象,但不會更新它。

有沒有人有類似的問題,您如何解決?

<hibernate-mapping package="com.package">

<class name="com.package.Tag" table="tags" lazy="false" mutable="false" >
    <meta attribute="generated-class">com.package.generated.AbstractTag</meta>
    <meta attribute="scope-class">public abstract</meta>
    <cache usage="read-write"/>

    <id name="id" type="long" column="tag_id">
        <generator class="native"/>
    </id>


    <property name="name" type="string" column="name" unique="true"/>

    <property name="itemCount" type="integer" column="itemCount"/>

</class>

</hibernate-mapping>

當心mutable="false"它使該對象可被應用程序使用:

如此處指定: http : //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html

可變的(可選-默認為true):指定該類的實例是可變的(不可變)。 不可變的類mutable =“ false”無法由應用程序更新或刪除。 這使Hibernate可以進行一些次要的性能優化。

從hbm文件中刪除mutable="false"可以解決此問題。

您是否嘗試過在商品上設置(並保存)標簽,而不是將商品添加到Tag類中?

因此,基本上可以完成數據庫所需的工作,首先創建一個Tag(不引用任何項目),然后再創建對Tag的引用的項目(記錄)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM