【问题标题】:use of @Lob for field in playframework在 playframework 中使用 @Lob 字段
【发布时间】:2011-08-30 18:28:37
【问题描述】:

在剧中!教程,模型Post的content字段被注释为@Lob。我试过这个,当postgres用作db时,发现表Post有一个名为content的列,它的值是133414长字符串,即帖子内容。列类型显示为'text',而Entity中的其他字符串字段为character varying

假设,我想搜索内容中包含某个单词的帖子,我将如何制定查询?我是否必须删除 @Lob 注释并让 postgres 将内容作为 varchar 存储在内容列中?

【问题讨论】:

    标签: java annotations playframework lob


    【解决方案1】:

    @Lob 根据定义是一个大对象。这可以存储为二进制数据或字符数据。在 lobs/clob/blob 中进行搜索可能非常困难,并且在大多数情况下并未进行优化。我建议使用更传统的类型,例如 text、varchar。这些是可索引的,因此性能更高。 (在大多数情况下),您可能还必须定义列大小。

    您可以使用列注释来精确它们:

    @Column(type = "TEXT")
    

    【讨论】:

    • 我认为要使用的正确属性是:@Column(columnDefinition = "TEXT")
    猜你喜欢
    • 2017-06-23
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2014-08-02
    相关资源
    最近更新 更多