sql >> Databáze >  >> RDS >> Mysql

Jaro, Hibernate, Blob líné načítání

Jsem zmatený. Emmanuel Bernard napsal v ANN-418 že @Lob jsou ve výchozím nastavení líné (tj. nemusíte ani používat @Basic(fetch = FetchType.LAZY) anotace).

Někteří uživatelé hlásí, že líné načítání @Lob nefunguje se všemi ovladači/databází .

Někteří uživatelé hlásí, že to funguje, když používáte bytecode instrumentaci (javassit? cglib?).

Ale v dokumentaci nemůžu najít žádný jasný odkaz na to všechno.

Na konci je doporučené řešení je použít falešné" mapování jedna ku jedné místo vlastností. Odeberte pole LOB ze své stávající třídy, vytvořte nové třídy odkazující na stejnou tabulku, stejný primární klíč a pouze nezbytná pole LOB jako vlastnosti. Určete mapování jako jedna ku jedné, fetch="select", lazy="true". Dokud je váš nadřazený objekt stále ve vaší relaci, měli byste dostat přesně to, co chcete. (stačí to transponovat do anotací).



  1. Uživatelská databáze MySQL nemá sloupce s hesly - Instalace MySQL na OSX

  2. PDO::fetchAll vs. PDO::fetch ve smyčce

  3. SQL Server Trigger:Pochopení a alternativy

  4. Jak přejmenovat databázi v MySQL