在游戏框架中使用@Lob作为字段

时间:2011-08-30 18:28:37

标签: java annotations playframework lob

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

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

1 个答案:

答案 0 :(得分:1)

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

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

@Column(type = "TEXT")
相关问题