可能重复:
T-SQL WHERE col IN(...)
SQL Server查询的最大大小是多少?(字符数)
IN子句的最大大小?我想我看到有关于Oracle有1000项限制的东西,但你可以用ANDing 2 INs来解决这个问题.SQL Server中的类似问题?
更新 那么,如果我需要从另一个系统(非关系数据库)中获取1000个GUID并对SQL Server执行"JOIN in code",那么最佳方法是什么?是否将1000个GUID列表提交给IN子句?还是有另一种技术可以更有效地运作?
我没有测试过这个,但我想知道我是否可以将GUID作为XML文档提交.例如
<guids>
<guid>809674df-1c22-46eb-bf9a-33dc78beb44a</guid>
<guid>257f537f-9c6b-4f14-a90c-ee613b4287f3</guid>
</guids>
Run Code Online (Sandbox Code Playgroud)
然后对Doc和Table做一些XQuery JOIN.效率低于1000项IN条款?
我有以下简单的应用程序
Users 实体
@Entity
public class Users implements Serializable {
@Id
@GeneratedValue
private long id;
private String name;
@OneToMany(mappedBy = "user", fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
private Set<UserRoleUser> userRoleUser;
// GETTERS AND SETTERS
}
Run Code Online (Sandbox Code Playgroud)
UserRole 实体
@Entity
public class UserRole implements Serializable {
@Id
@GeneratedValue
private long id;
private String roleName;
@OneToMany(mappedBy = "userrole", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private Set<UserRoleUser> userRoleUser;
// GETTERS AND SETTERS
}
Run Code Online (Sandbox Code Playgroud)
UserRoleUser 多对多解析器类
@Entity
public class UserRoleUser implements Serializable {
@Id
@GeneratedValue …Run Code Online (Sandbox Code Playgroud)