java如何忽略@OneToMany上的字段
我有两个实体,第一个实体的列表映射为@OneToMany
问题是,第二个实体有一些关于文件的信息和文件中的BLOB字段,我需要从第二个实体获取文件信息,但我不想获取BLOB,因为这太重了
有没有一种方法可以隐藏BLOB字段以自动查找@OneToMany,而我仍然可以在需要时将其保留为正常字段
你可以在下面搜索框中键入要查询的问题!
我有两个实体,第一个实体的列表映射为@OneToMany
问题是,第二个实体有一些关于文件的信息和文件中的BLOB字段,我需要从第二个实体获取文件信息,但我不想获取BLOB,因为这太重了
有没有一种方法可以隐藏BLOB字段以自动查找@OneToMany,而我仍然可以在需要时将其保留为正常字段
# 1 楼答案
您可以简单地使用
@OneToMany(fetch = FetchType.LAZY)
,但如果会话已关闭,并且您想要获取Blob,它将无法工作。因此,要初始化惰性对象,需要使用Hibernate.initalize()
和@Transactional
注释。你也可以在交易之外得到斑点# 2 楼答案
通过应用下一个注释,可以将BLOB字段标记为延迟加载: