我使用春季社交认证在春季开机申请。要坚持社交用户详细信息,我正在尝试使用mysql与JdbcUsersConnectionRepository
。如何更改Spring Social JdbcUsersConnectionRepository表名和列名?
我需要更改默认设置为prefix + UserConnect
的表名。表名和所有列名均采用骆驼命名约定。但在我的应用程序中,数据库列使用下划线命名约定。
当我检查的JdbcUsersConnectionRepository
的源代码它的硬编码像下面
jdbcTemplate.queryForList("select userId from " + tablePrefix + "UserConnection where providerId = ? and provide....
我知道我可以重写UsersConnectionRepository
实现和做到这一点。实际上我现在正在做的事情。
public class SecUsersConnectionRepository implements UsersConnectionRepository {
private UserRepository userRepository;
private UserConnectionRepository userConnectionRepository;
private ConnectionFactoryLocator connectionFactoryLocator;
.....
.....
但是用这种方法我不得不在JdbcUsersConnectionRepository
重写相同的逻辑。根本没有生产力。那么实现这一目标的最佳做法是什么?
我希望我不是唯一一个面对春季社交问题的人。请分享你如何解决这种情况的知识。
你说得对。很遗憾,为什么春天不重写逻辑就不会使这些值变化。我为此重写了自己的课程。 –
是的,这是令人发狂的。他们为什么会违背自己的标准表命名约定,并用愚蠢的camel-case db表命名将每个人都搞砸了。 #失败 – Trevor