Java liferay的service.xml中的Blob数据类型
我正在使用liferay,希望在MySQL数据库中存储图像。 My service.xml如下所示:Java liferay的service.xml中的Blob数据类型,java,mysql,image,liferay,blob,Java,Mysql,Image,Liferay,Blob,我正在使用liferay,希望在MySQL数据库中存储图像。 My service.xml如下所示: <entity name="DLApp" local-service="true" remote-service="true"> <column name="blobId" type="long" primary="true" /> <column name="desc" type="String" /> <column name
<entity name="DLApp" local-service="true" remote-service="true">
<column name="blobId" type="long" primary="true" />
<column name="desc" type="String" />
<column name="image" type="Blob" />
</entity>
生成服务时,我会收到生成成功消息,但BlobupLodModelImpl类中的包com.test.blob.upload中有一个错误
我应该如何编写函数来将图像存储在数据库中并检索它呢?我对Blob也有同样的问题,所以我将其改为字符串类型,最多可以将10 MB的图像存储为字符串,我使用MySql作为数据库,这些列映射为长文本。 此外,字段应该在模型提示中作为CLOB“暗示”,请参见下面的示例
<entity name="UserExt" local-service="true" remote-service="true">
<column name="photo" type="String" />
</entity>
<model-hints>
<model name="com.project.model.UserExt">
<field name="photo" type="String">
<hint-collection name="CLOB" />
</field>
</model>
</model-hints>
或者,您可以将图像存储到Liferay的图像库中。假设我的实体名称是SB_Claims,因此我通常在SB_ClaimsModelImpl.java类中遇到错误
sb_ClaimsModelImpl._ContentBlobModel = null;
sb_ClaimsModel变量未声明或定义。我们只是在服务构建操作之后声明了这个变量。如果您再次生成服务,则服务生成器将删除此代码。始终在服务构建之后执行此代码,然后不构建服务,只需部署您的portlet即可。
这将解决问题。在下面,我只是修改了这个类
@Override
public void resetOriginalValues()
{
SB_ClaimsModelImpl sb_ClaimsModelImpl=this;
sb_ClaimsModelImpl._ContentBlobModel = null;
}
希望这将有助于某人