我正在一个项目,该项目使用NLP库从互联网论坛上的分类广告中解析信息。处理之后,我得到了ForSaleItem实例和各种详细信息,例如条件,价格等。
当我在这些对象上调用toString()方法时,它不会返回存储在对象本身中的字符串,而是在整个论坛帖子中查找其自己的起点和终点,然后从那里提取文本。 (这样做是为了我可以计算文本的各个位的接近度)。
我想使用JPA将这些对象持久保存到RDBMS。处理之后,我不再真正关心邻近项,我只想向用户显示字符串。如果我坚持整个论坛的帖子,并继续通过上述方法检索实际文本,那将是一个巨大的浪费。
现在我的问题是:我应该使用String字段增强原始类,还是应该创建一个全新的类,即。像PersistentForSaleItem之类的东西?
最佳答案
看起来您的ForSaleItem有几点确实与您要保留的内容不兼容:
字符串的复杂检索过程
->持久后不需要。
多个对象,这些对象将保留到多个表中
->不必要的复杂且缓慢,而只有一个对象可以将String存储在单个表中,并更有效地检索它。
因此,我建议您对持久性使用不同的对象。
请注意,创建起来可能非常简单,例如:
一个类,没有超类,带有注释@Entity
一个长标识符字段,带有@Id和@GeneratedValue批注
一个String字段,带有getter(如果想要的最大字符串长度不同于默认值256,则带有@Column)和setter
一个空的构造函数(可选)
--