powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Lob FetchType.LAZY
5 сообщений из 5, страница 1 из 1
Lob FetchType.LAZY
    #37918834
eml78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему-то не работает FetchType.LAZY для свойства (св-во типа LOB)
Здесь посмотрел http://www.sql.ru/forum/actualthread.aspx?tid=924481
bytecode instrumentation добавил - пишет что классы обработало, но в логе Hibernate все равно пишет что выбирает это поле при получении списка данных.

Попробовал сделать интерфейс (с JPA аннотациями) для класса (в классе аннотации убрал), тоже не помогло.

Вот код класса:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@Entity
@Table(name = "Files")
public class ItemFile implements Serializable {

    @Id @GeneratedValue(strategy = GenerationType.TABLE, generator="Files")
    @TableGenerator(name="Files", allocationSize=50)    
    private Long id;
    @Lob @Basic(fetch=FetchType.LAZY)
    private byte[] fileData;

    public ItemFile() {}

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id;}

    public byte[] getFileData() {return fileData;}
    public void setFileData(byte[] fileData) {this.fileData = fileData;}

    public void setFileData(File file) throws IOException {
        FileInputStream in = new FileInputStream(file);
        this.fileData = new byte[in.available()];
        in.read(this.fileData);
        in.close();
    }
}


Вот так выбираю данные:
Код: java
1.
2.
Query q = entityManager.createQuery("FROM ItemFile");
List<ItemFile> list = q.getResultList();


В логе пишет "Hibernate: select itemfile0_.id as id1_, itemfile0_.fileData as fileData1_ from Files itemfile0_"
...
Рейтинг: 0 / 0
Lob FetchType.LAZY
    #37918856
eml78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среда Netbeans 7.2 в build.xml для bytecode instrumentation добавил:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    <target name="-post-compile">
        <taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
            <classpath path="${jar.path}"/>
            <classpath path="${classes.dir}"/>
            <classpath path="${javac.classpath}"/>
        </taskdef>

        <instrument verbose="true">
            <fileset dir="${build.classes.dir}/testdb">
                <include name="*.class"/>
            </fileset>
        </instrument>
    </target>    
...
Рейтинг: 0 / 0
Lob FetchType.LAZY
    #37918884
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте аннотацию на свойство перенести. На getter.
...
Рейтинг: 0 / 0
Lob FetchType.LAZY
    #37919663
eml78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПопробуйте аннотацию на свойство перенести. На getter.
К сожалению чуда не произошло, все так же.
...
Рейтинг: 0 / 0
Lob FetchType.LAZY
    #37919679
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А классы точно инструментрируются?
Присмотрелся к антовой таске. У меня множество путей classpath иначе описаны:
Код: xml
1.
2.
3.
4.
<classpath>
   <path refid="" />
   <path refid=""/>
</classpath>

Но это мелочи, если таска запускается.

больше смущает

Код: xml
1.
2.
3.
            <fileset dir="${build.classes.dir}/testdb">
                <include name="*.class"/>
            </fileset>


Т.е. обрабатываются классы внутри папки testdb. Но обычно классы лежает ещё и в пакетах.

У меня это выглядит так:
Код: xml
1.
2.
3.
               <fileset dir="target/classes">
                                <include name="**/ItemFile.class" />
                            </fileset>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Lob FetchType.LAZY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]