我是一个SQLAlchemy noob.
假设我在声明模式下有一个用户表:
class User(Base):
__tablename__ = 'user'
id = Column(u'id', Integer(), primary_key=True)
name = Column(u'name', String(50))
Run Code Online (Sandbox Code Playgroud)
当我知道用户的id没有加载到会话中的对象时,我更新这样的用户:
ex = update(User.__table__).where(User.id==123).values(name=u"Bob Marley")
Session.execute(ex)
Run Code Online (Sandbox Code Playgroud)
我不喜欢使用User.__table__
,我应该不再担心吗?
有一个更好的方法吗?
谢谢!
我无法弄清楚如何从条件实例中获取n个随机行:
Criteria criteria = session.createCriteria(Table.class);
criteria.add(Restrictions.eq('fieldVariable', anyValue));
...
Run Code Online (Sandbox Code Playgroud)
那又怎样?我找不到任何带有Criteria API的文档
这是否意味着我应该使用HQL?
感谢名单!
编辑:我得到的行数:
int max = criteria.setProjecxtion(Projections.rowCount()).uniqueResult();
Run Code Online (Sandbox Code Playgroud)
如何获取索引在0到最大值之间的n个随机行?再次!