【问题标题】:Spring Roo - MongoDb -- List of StringSpring Roo - MongoDb -- 字符串列表
【发布时间】:2013-02-20 07:45:05
【问题描述】:

Creating a List<> Member with Spring Roo 这没有回答我的问题!

所以我想做的是“字段列表--fieldName addressList” 但 Spring roo 似乎只允许“field set --fieldName addressList --type ~.model.A”,我什至不能做“field set --fieldName addressList --type java.lang.String”

所以它应该很简单,但它为什么不支持呢?或者我应该怎么做才能达到同样的结果?

【问题讨论】:

    标签: list mongodb spring-roo


    【解决方案1】:

    “怎么不支持?”

    因为框架的这一部分旨在表示持久实体之间的关系。为什么要与(未设置的)列表相关联?您如何知道该条目是否是相关记录的一部分,而不仅仅是重复记录?

    "我什至不能做"字段集 --fieldName addressList --type java.lang.String""

    那是因为 java.lang.String 不是 jpa 类。您只能将 jpa 实体相互关联。

    您应该使用与此对象相关的字符串字段表示创建一个地址类。

    entity jpa --class ~.Address
    field string AddressLine1 --notNull
    field string AddressLine2 
    focus --class ~.YourClassThatNeedsAnAddressList
    field set --fieldName addressList --type ~.Address
    

    现在 ~.YourClassThatNeedsAnAddressList 的每个实例都可以有多个与之关联的地址。每个地址由两个字符串组成。

    【讨论】:

    • 谢谢,看来我需要创建一些不必要的类。如果我想存储一个字符串 ID 列表呢?在 mongodb 的文档中?
    • 似乎您没有考虑面向对象。字符串列表代表什么? ID 代表什么?身份证能做什么? (对自己?)我得出的结论是,任何东西的列表都有相关的功能——我挑战某人找到一个没有相关功能的例子。在这种情况下,您不仅应该为列表包含的类建模,还应该将列表本身建模为一个类。这意味着您将创建一个字段 --fieldName 地址 --Type ~.Addresses,而不是创建一个字段列表。然后地址可以是任何东西 - 地图、集合、列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多