Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Lob FetchType.LAZY / 5 сообщений из 5, страница 1 из 1
16.08.2012, 10:14:33
    #37918834
eml78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lob FetchType.LAZY
Почему-то не работает 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
16.08.2012, 10:27:03
    #37918856
eml78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lob FetchType.LAZY
Среда 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
16.08.2012, 10:40:52
    #37918884
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lob FetchType.LAZY
Попробуйте аннотацию на свойство перенести. На getter.
...
Рейтинг: 0 / 0
16.08.2012, 16:09:36
    #37919663
eml78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lob FetchType.LAZY
BlazkowiczПопробуйте аннотацию на свойство перенести. На getter.
К сожалению чуда не произошло, все так же.
...
Рейтинг: 0 / 0
16.08.2012, 16:17:06
    #37919679
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lob FetchType.LAZY
А классы точно инструментрируются?
Присмотрелся к антовой таске. У меня множество путей 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
Форумы / Java [игнор отключен] [закрыт для гостей] / Lob FetchType.LAZY / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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