微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何手动将String映射到postgresql文本而不仅仅是varchar(254)?

我使用slick2 postgresql 9.3 playframework 2

我的数据模型是:

class Page(tag:Tag) extends Table[(Long,Long,String,Option[Long],Option[Long])](tag,"Page"){
  def id=column[Long]("ID",O.PrimaryKey)
  def subId=column[Long]("subject")
  def title=column[String]("Title",O.NotNull)
  def describe=column[String]("Describe")
  def profile=column[String]("Profile")
  def icon=column[Long]("icon")
  def resId=column[Long]("Picture")
  def * = (id,subId,title,describe,profile,icon.?,resId.?)
  def page_sub=foreignKey("PA_SU_FK",subject)(_.id)
  def page_res=foreignKey("PA_RE_FK",resId,resource)(_.id)

}

问题是列描述是String,并将在数据库中映射为varchar(254).但实际上,这个专栏可能很长,我的意思是它可能有1000-3000个字符.
如何手动将其映射到Datamodel中的文本?

这适用于Postgresql
def profile=column[String]("Profile",O.DBType("TEXT"))

或者你可以建立一个自定义的TypeMapper,我从来没有建立一个,但有很多帖子,如this SO问题或this问题.

希望能帮助到你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐