有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

postgresql如何通过Hibernate+Java在db中创建文本类型字段

我有一个Java Web应用程序(struts2、hibernate、beans)+PostreSQL作为数据库。任务是将base64编码的文本保存在数据库中,用于某些特定的表。该base64是从pdf文件生成的,然后使用特定的算法cipheredpdf文件<;1mb,大部分<;300kb

我进行了搜索,建议将base64保存为数据库中的Text字段。在PostgreSQL本身中创建它不是问题,但我必须通过Model类+hibernate来创建它

我所做的:

已导入import org.apache.struts2.components.Text;

生成getter/setter。在我的*.hbm.xml文件中添加了一行

<property name="base64signed" column="base64signed" />

我犯了一个错误:

Could not determine type for: org.apache.struts2.components.Text


共 (2) 个答案

  1. # 1 楼答案

    我认为你应该使用这个注释:

    @Lob(type = LobType.CLOB)
    
  2. # 2 楼答案

    我认为Hibernate不支持组织的转换。阿帕奇。struts2。组件。文本到数据库的varchar

    因此,您可以像上面提到的那样将其存储为LOB或CLOB

    @Lob
    private Text base64signed;
    

    或者,您可以通过将“base64signed”字段声明为字符串来简化,这将减少数据库中的内存占用

    @Column
    private String base64signed;