在本文中,我们将详细介绍Spring,关于Web开发中多对多的各个方面,并为您提供关于与额外列关联查询的问题的相关解答,同时,我们也将为您带来关于.NETWeb部件|Web部件管理器|Web部件区、a
在本文中,我们将详细介绍Spring,关于 Web 开发中多对多的各个方面,并为您提供关于与额外列关联查询的问题的相关解答,同时,我们也将为您带来关于.NET Web 部件 | Web 部件管理器 | Web 部件区、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证、asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API的有用知识。
本文目录一览:- Spring,关于 Web 开发中多对多(与额外列关联)查询的问题(springboot多对多关系怎么写)
- .NET Web 部件 | Web 部件管理器 | Web 部件区
- asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API
- asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证
- asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API
Spring,关于 Web 开发中多对多(与额外列关联)查询的问题(springboot多对多关系怎么写)
如何解决Spring,关于 Web 开发中多对多(与额外列关联)查询的问题?
我有 3 个类在实体级别使用多对多关系(除草) 他们是团队、用户和团队用户。
由于我使用的是 hibernate,所以它们都是 Fetch Lazy
团队:
用户:
团队用户:
我们有 3 个接口(由 @Autowired 在 Service 或 repo 层使用),它们是:
1.TeamRepository extends PagingAndSortingRepository<Team,Integer>
2.UserRepository extends PagingAndSortingRepository<User,Integer>
3.TeamUserRepository extends PagingAndSortingRepository<TeamUsers,Integer>
这里是多对多关系映射的核心代码:
团队课程:
@OnetoMany(mappedBy = "team",fetch = FetchType.EAGER)
private Set<TeamUsers> team_users = new HashSet<TeamUsers>();
用户类别:
@OnetoMany(mappedBy = "user",fetch = FetchType.EAGER)
private Set<TeamUsers> team_users = new HashSet<TeamUsers>();
TeamUsers 类:
@ManyToOne(fetch = FetchType.EAGER,optional = false)
@JoinColumn(name = "TEAM_ID")
private Team team;
@ManyToOne(fetch = FetchType.EAGER,optional = false)
@JoinColumn(name = "USER_ID")
private User user;
现在,我的问题是,处理这些数据的最佳做法是什么?
例如:
1.我需要来自我的数据库的所有团队信息和团队成员
在restful控制器中获取映射函数,我应该返回什么?我应该使用 TeamUser 存储库(或者可能是另一个服务层)来返回 findAll() 吗?如果这样做,数据将作为用户和团队权限的对象集合出现(可能还包含该表中的额外列)? Json 能否成功包含该数据?
2.我在网页上,我想从团队中删除一个用户。
此时我知道了来自 HTML 的 TeamID 和 UserID,当我向 API 发送 Post 请求时,我应该通过 UserID 获取 User 对象,然后通过 TeamID 获取 Team 对象,然后通过提供 User 对象获取(查询)TeamUsers 对象和团队对象?或者只是通过 id 查询(来自 html 上的 TeamUsers)发送到 API 并简单地删除这个 TeamUsers 实体?
我是 Spring 和前端开发的新手,非常感谢您的帮助!
解决方法
我建议如下
- 如果您想返回所有团队和每个团队的所有用户,您应该有一个 TeamService,它调用 Team 存储库的 findAll 方法,这样您将获得团队列表,并为每个团队获取一组用户。如果您不想要所有用户以及每个用户的团队,您应该以另一种方式执行此操作,请调用用户存储库的 findAll 方法
只要对象具有其构造函数以及 getter 和 setter 方法,这两种解决方案都可以毫无问题地序列化为 json
-
如果你只想删除用户和团队之间的关系,你可以在你的 TeamEntity Spring Data 存储库中有一个像这样的方法
long deleteByTeamIdAndUserId(long teamId,long userId);
Spring 将创建一个方法来执行此操作,或者您可以在方法名称上方编写您喜欢的查询以更具体
@Modifying
@Query("delete from TeamUsers t where t.userId=:userId and t.teamId = :teamId")
long deleteByTeamIdAndUserId(long teamId,long userId);
.NET Web 部件 | Web 部件管理器 | Web 部件区
如何解决.NET Web 部件 | Web 部件管理器 | Web 部件区
我在 ASP.NET Web 窗体中使用 Web 部件。我的项目运行正常。 但是,当我拖放 Web 部件管理器时出现此错误,谁能指导我如何在 Windows 10 中解决此问题。
与 sql Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 sql Server 是否配置为允许远程连接。 (提供程序:sql 网络接口,错误:26 - 错误定位服务器/指定的实例)
asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API
我已经用Web API创建了一个新的MVC 4应用程序。基于一些示例和教程,我开始配置我的路由:
routes.MapHttpRoute( name: "Controller only",routeTemplate: "api/{controller}" );
但是,这会导致RouteCollection不包含MapHttpRoute的定义的错误。我是否安装了一些DLL?
据我看到,我已经安装了所有正确的DLL和版本。
解决方法
asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证
使用(Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient())
{
//添加用户代理标头
var headers = httpClient.DefaultRequestHeaders;
//检查用户标头值的安全方法是TryParseAdd方法
//因为我们知道这个标题是可以的,所以我们使用ParseAdd会抛出异常
//值不好 – http://msdn.microsoft.com/en-us/library/windows/apps/dn440594.aspx
headers.UserAgent.ParseAdd("ie"); headers.UserAgent.ParseAdd("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); using (var response = await httpClient.GetAsync(new Uri(url)))
我没有看到发送默认凭据的方法.
解决方法
Windows.Web.Http.Filters.HttpBaseProtocolFilter filter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter(); filter.AllowUI = false; HttpClient client = new HttpClient(filter); Uri uri = new Uri("http://localhost/?basic=1"); var response = await client.GetAsync(uri); System.Diagnostics.Debug.WriteLine(response);
你需要凭证吗?使用HttpBaseProtocolFilter.ServerCredential.试试这个:
Uri uri = new Uri("http://localhost?ntlm=1"); Windows.Web.Http.Filters.HttpBaseProtocolFilter filter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter(); filter.AllowUI = false; // Set credentials that will be sent to the server. filter.ServerCredential = new Windows.Security.Credentials.PasswordCredential( uri.ToString(),"userName","abracadabra"); HttpClient client = new HttpClient(filter); var response = await client.GetAsync(uri); System.Diagnostics.Debug.WriteLine(response);
您需要默认的Windows凭据(域凭据)吗?只需将Enterprise Authentication功能添加到Package.appxmanifest即可.
asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API
解决方法
以下是一些您可能会觉得有用的链接:
> How to Migrate from WCF Web API to ASP.NET Web API
> Mike的博客于How WebAPI does Parameter Binding年
> ASP.NET WebAPI页面上的> Getting started tutorials.
希望这可以帮助.
今天的关于Spring,关于 Web 开发中多对多和与额外列关联查询的问题的分享已经结束,谢谢您的关注,如果想了解更多关于.NET Web 部件 | Web 部件管理器 | Web 部件区、asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API、asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证、asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API的相关知识,请在本站进行查询。
本文标签: