gpt4 book ai didi

java - 如何让 Hibernate 3 仅在调用其 getter 时检索值

转载 作者:行者123 更新时间:2023-11-29 09:02:54 25 4
gpt4 key购买 nike

我有一个带有中等文本字段的表的 Hibernate 3 映射。该表有几千条记录,除了中型文本字段外,其他字段根本没有多少数据。

除了很少使用的中间文本字段外,整个表格都需要加载到内存中。

虽然我听说过延迟获取注解,但是这段遗留代码使用的是 Hibernate XDoclet,它在其 hibernate 属性定义中没有提到延迟获取:

http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html#@hibernate_property_0_1_

那么有什么方法可以告诉 Hibernate 只在调用它的 getter 时检索值吗?

最佳答案

Hibernate 默认支持 lazy fetching,除非 exlplicity 将其设置为 Eager fetching。如果您想了解有关延迟获取的一些想法,请参阅 this

如果它是属性 laza 加载尝试类似的东西

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping
>
<class
name="db.hibernateSimple.Copay"
table="EHR_COPAY"
polymorphism="explicit"
>

<id
name="id"
column="COPAY_ID"
type="long"
unsaved-value="null"
>
<generator class="sequence">
<param name="table">HIVAL</param>
<param name="column">NEXT</param>
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-Copay.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id>

<property
name="balance"
type="int"
column="balance"
length="10"
/>

<property
name="date"
type="java.lang.String"
column="OWNERSHIP_DATE"
/>

<property
name="comments"
type="java.lang.String"
column="comments"
lazy="true"
/>

<many-to-one
name="user"
class="db.hibernateSimple.User"
cascade="none"
outer-join="auto"
column="USER_ID_SEQ"
/>

我从 here 中提取了以上内容我想你可以得到一些想法

关于java - 如何让 Hibernate 3 仅在调用其 getter 时检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com