1
我正在使用Hibernate進行持久化的Spring-MVC項目。在其中一個模型類中,我有一個我想要堅持的列表。我面臨這個問題,因爲我不知道在PostgreSQL中使用哪種數據類型,並且我需要以某種方式指示hibernate,或者我嘗試持久保存列表。性能要求在這個列表中並不是很大的問題,因爲它沒有得到那麼多的操作。我張貼一些代碼供參考,請讓我知道。非常感謝:Spring mvc:在PostgreSQL中使用Hibernate保存Java列表
GroupAccount模型類:
@Entity
@Table(name="groupaccount")
public class GroupAccount {
@Column(name = "blacklist")
private List<String> blacklist;
public List<String> getBlacklist() {
return blacklist;
}
public void setBlacklist(List<String> blacklist) {
this.blacklist = blacklist;
}
}
我有時會要求更新黑名單的價值,所以我必須在DAO的方法,它更新groupAccount,我下面粘貼。
GroupAccountDAOImpl編輯功能:
@Override
public void editGroupAccount(GroupAccount groupAccount) {
session = this.sessionFactory.getCurrentSession();
GroupAccount groupAccount1 = (GroupAccount)session.get(GroupAccount.class,groupAccount.getGroupId());
if(!(groupAccount1==null)){
groupAccount.setOwnedcanvas(groupAccount1.getOwnedcanvas());
groupAccount.setGroupMembersSet(groupAccount1.getGroupMembersSet());
session.merge(groupAccount);
session.flush();
}
}
一個用例在黑名單中添加用戶:
List<String> blackListUsers;
blackListUsers = groupAccount.getBlacklist();
blackListUsers.add(memberForBlackListing.getMemberUsername());
groupAccount.setBlacklist(blackListUsers);
this.groupAccountService.editGroupAccount(groupAccount);
removeAllMemberships(memberId);
return true;
任何幫助將是很好。非常感謝。 :-)
好的。非常感謝,但是還有其他類型可以使用,就像我可以用於上述用例的數組一樣。我只需要檢查一個電子郵件地址是否存在於黑名單中,並添加一個電子郵件,但在同一個數據庫表中。非常感謝。 – 2015-02-11 10:29:22
您可以使用簡單的「字符串」字段,並將列表保留爲逗號分隔值(CSV)。需要一個小包解包代碼,但這是最簡單的解決方案。 – 2015-02-11 10:31:39
我同意。我會盡力而爲。非常感謝。 – 2015-02-11 10:32:16