GVKun编程网logo

Spring,关于 Web 开发中多对多(与额外列关联)查询的问题(springboot多对多关系怎么写)

1

在本文中,我们将详细介绍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多对多关系怎么写)

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 和前端开发的新手,非常感谢您的帮助!

解决方法

我建议如下

  1. 如果您想返回所有团队和每个团队的所有用户,您应该有一个 TeamService,它调用 Team 存储库的 findAll 方法,这样您将获得团队列表,并为每个团队获取一组用户。如果您不想要所有用户以及每个用户的团队,您应该以另一种方式执行此操作,请调用用户存储库的 findAll 方法

只要对象具有其构造函数以及 getter 和 setter 方法,这两种解决方案都可以毫无问题地序列化为 json

  1. 如果你只想删除用户和团队之间的关系,你可以在你的 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 部件区

如何解决.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

asp.net-web-api – System.Web.Routing.RouteCollection不包含“MapHttpRoute”的定义 – VS 2012,Web API

我刚刚安装了Visual Studio 2012,并开始检查MVC 4和Web Api。
我已经用Web API创建了一个新的MVC 4应用程序。基于一些示例和教程,我开始配置我的路由:
routes.MapHttpRoute(
                name: "Controller only",routeTemplate: "api/{controller}"
            );

但是,这会导致RouteCollection不包含MapHttpRoute的定义的错误。我是否安装了一些DLL?
据我看到,我已经安装了所有正确的DLL和版本。

解决方法

我已经通过在RouteConfig.cs中添加对System.Web.Http的引用来解决它

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

asp.net-web-api – Windows.Web.Http.HttpClient WEB API Windows身份验证

我使用 Windows.Web.Http.HttpClient连接到我的WEB API.应用程序没有提示用户名和密码,但最近我通过将AuthorizeAttribute过滤器从Action级别移动到类级别来更改WEB API.现在我的Windows应用商店8.1应用程序提示用户ID和密码.请让我知道如何设置HttpClient不提示登录和密码. any1可以建议我,我需要添加标头到我的httpcleint

使用(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)))

我没有看到发送默认凭据的方法.

解决方法

使用HttpBaseProtocolFilter.AllowUI禁用UI对话框.试试这个:

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

asp.net-web-api – 什么将WCF Web API中的HttpOperationHandler替换为ASP.NET Web API

在升级使用WCF Web API构建的旧项目现在使用ASP.NET Web API时,我遇到了一些实现HttpOperationHandler< HttpRequestMessage,T>的类.我无法在新程序集中找到等效的类.是否存在类似的东西,还是需要采用不同的方法?

解决方法

操作处理程序的概念已替换为过滤器和模型绑定程序.

以下是一些您可能会觉得有用的链接:

> 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的相关知识,请在本站进行查询。

本文标签: