小编TCM*_*TCM的帖子

我该如何编写这个JPQL查询?

说我有5张桌子,

tblBlogs     tblBlogPosts     tblBlogPostComment    tblUser    tblBlogMember
BlogId        BlogPostsId       BlogPostCommentId   UserId      BlogMemberId
BlogTitle     BlogId            CommentText         FirstName   UserId
              PostTitle         BlogPostsId                     BlogId
                                 BlogMemberId
Run Code Online (Sandbox Code Playgroud)

现在我想只检索blogMember实际评论过的那些博客和帖子.简而言之,我该如何编写这个普通的旧SQL?

SELECT b.BlogTitle, bp.PostTitle, bpc.CommentText FROM tblBlogs b 
INNER JOIN tblBlogPosts bp on b.BlogId = bp.BlogId 
INNER JOIN tblBlogPostComment bpc on bp.BlogPostsId = bpc.BlogPostsId 
INNER JOIN  tblBlogMember bm ON bpc.BlogMemberId = bm.BlogMemberId 
WHERE bm.UserId = 1;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,一切都是内连接,因此只检索用户在某些博客的某些帖子上评论过的那一行.所以,假设他/她加入了3个博客,其ID为1,2,3(用户加入的博客在tblBlogMembers中),但用户只在博客2中评论过(比如BlogPostId = 1).因此,将检索该行,并且1,3将不会因为它是内部联接.如何在JPQL中编写这种查询?

在JPQL中,我们只能编写简单的查询,例如:

Select bm.blogId from tblBlogMember Where bm.UserId = objUser;
Run Code Online (Sandbox Code Playgroud)

使用objUser提供的地方:

em.find(User.class,1);
Run Code Online (Sandbox Code Playgroud)

因此,一旦我们获得了用户加入的所有博客(此处为blogId代表博客对象),我们就可以循环并完成所有奇特的事情.但我不想陷入这种循环业务,并在我的Java代码中编写所有这些内容.相反,我想把它留给数据库引擎来做.那么,我如何将上述纯SQL写入JPQL?JPQL查询返回什么类型的对象?因为我只从所有表中选择几个字段.我应该在哪个类中对结果进行类型转换?

我想我正确地发布了我的要求,如果我不清楚请告诉我.

更新:根据pascal的回答,我尝试为上述SQL查询编写JPQL查询.我面临一个小问题.此查询正在运行,但不完整:

SELECT bm.blogId FROM BlogMembers bm …
Run Code Online (Sandbox Code Playgroud)

java orm jpa jpql

6
推荐指数
2
解决办法
3万
查看次数

如何在我的JSF项目中使用RESTful Web服务?

由于基于URL的RESTful Web服务不是对象,因此我们无法调用它们上的方法.我有一个简单的Web服务,其中只有一个方法@GET.我看了一个截屏视频,它使用了一些javascript库来使用Web服务.但是,我如何在我的JSF项目中使用它?我甚至无法像普通的Web服务那样注入它.请帮忙.我是REST的新手.我不能在托管bean中使用它吗?

如果使用web服务的唯一方法是通过javascript,那么这里的任何人都能告诉我如何通过JQuery使用它的细节吗?

提前致谢 :)

java rest jsf

6
推荐指数
1
解决办法
1万
查看次数

CodeIgniter输出缓存如何工作?

我看了这个链接: -

http://codeigniter.com/user_guide/general/caching.html

它写道: -

When a page is loaded for the first time, the cache file will be written to your system/cache folder

并且我们可以通过缓存视图$this->output->cache(60);.但它是如何实际工作的?如果我的用户经常更新和删除记录,那么该视图会经常发生变化.它会显示修改过的数据吗?或者缓存会带回旧的陈旧数据吗?(在插入和更新之前)?如果它自动管理并从数据库中提取新数据,那么在cache功能中指定分钟的目的是什么?

提前致谢 :)

php caching codeigniter

6
推荐指数
2
解决办法
6594
查看次数

从数组中删除重复的字符

在阅读一本名为Cracking the coding interview的书时Gayle Laakmann,我遇到了这个问题

设计算法并编写代码以删除字符串中的重复字符,而无需使用任何其他缓冲区.注意:一个或两个额外的变量是好的.数组的额外副本不是.

这段代码: -

 public static void removeDuplicates(char[] str) {
        if (str == null) {
            return;
        }
        int len = str.length;
        if (len < 2) {
            return;
        }

        int tail = 1;

        for (int i = 1; i < len; ++i) {
            int j;
            for (j = 0; j < tail; ++j) {
                if (str[i] == str[j]) {
                    break;
                }
            }
            if (j == tail) {
                str[tail] = str[i];
                ++tail;
            }
        } …
Run Code Online (Sandbox Code Playgroud)

java arrays algorithm

6
推荐指数
1
解决办法
1万
查看次数

不了解Storyboard.TargetProperty属性

究竟是什么意思Storyboard.TargetProperty.我知道这是我们想要动画的对象的属性.但为什么他们如此复杂如下:

Storyboard.TargetProperty='(Shape.Fill).(SolidColorBrush.Color)'

那么为何不 :-

Storyboard.TargetProperty='Fill'

第二个例子: -

 <DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty="(UIElement.RenderTransform).
(TransformGroup.Children)[3].(ScaleTransform.ScaleX)"
Storyboard.TargetName="rectangle">
                <EasingDoubleKeyFrame KeyTime="0:0:1"
Value="1.88"/>
            </DoubleAnimationUsingKeyFrames>
Run Code Online (Sandbox Code Playgroud)

我需要记住这个奇怪而复杂的目标属性吗?任何帮助或任何记住这一点的技巧和窍门表示赞赏.

提前致谢 :)

silverlight-4.0

6
推荐指数
1
解决办法
561
查看次数

如何从相册中获取照片?facebook c#sdk

我正在使用Facebook C#SDK,它运行良好.我想在我的网站上显示用户的相册及其照片.我正在使用图形api.我确实使用这种方法获得了专辑: -

   fb.GetAsync("me/albums/photos", (val) =>
            {
                if (val.Error == null)
                {
                    IDictionary<string, object> dict = val.Result as IDictionary<string, object>;


                }
                else
                {
                    // TODO: Need to let the user know there was an error
                    //failedLogin();
                }
            });
Run Code Online (Sandbox Code Playgroud)

如何获取每张相册中的照片?

c# facebook-c#-sdk

6
推荐指数
1
解决办法
5331
查看次数

为什么使用PredicateBuilder的代码不起作用?

为什么我的清单没有退回任何东西?

 class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>{ "apple" , "mango" , "chickoo", "kiwi" };
            var searchWord = new List<string>{ "a" };

            var predicate = PredicateBuilder.False<string>();

            foreach(var word in searchWord)
            {
                predicate.Or(p => p.Contains(word));
            }

           var qry = list.Where(predicate.Compile());

           foreach (var item in qry)
           {
               Console.WriteLine(item);
           }

           Console.Read();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用Joseph Albahari的PredicateBuilder.

c# linq

6
推荐指数
2
解决办法
4052
查看次数

优化CTE以进行递归查询

我有一张自我加入的桌子.您可以将结构视为标准表来表示组织层次结构.如表: -

MemberId
MemberName
RelatedMemberId
Run Code Online (Sandbox Code Playgroud)

该表包含50000个样本记录.我写了CTE递归查询,它的工作非常好.然而,在我的机器上处理仅50000条记录所需的时间约为3分钟(4GB Ram,2.4 Ghz Core2Duo,7200 RPM HDD).

如何才能提高性能,因为50000不是那么庞大的数字.随着时间的推移,它将继续增加.这是我的存储过程中的查询.查询的目的是选择属于特定成员的所有成员.例如.在公司的所有者之下,每个人都来了.对于Manager,除了所有者返回所有记录.我希望你理解查询的目的.

设置ANSI_NULLS开启GO SET QUOTED_IDENTIFIER

Alter PROCEDURE spGetNonVirtualizedData
(
    @MemberId    int
)
AS
BEGIN

    With MembersCTE As
    (
        Select parent.MemberId As MemberId, 0 as Level
            From Members as parent Where IsNull(MemberId,0) = IsNull(@MemberId,0)

                    Union ALL
        Select    child.MemberId As MemberId , Level + 1 as Level
            From Members  as child
                Inner Join MembersCTE on MembersCTE.MemberId = child.RelatedMemberId
    )   
    Select Members.*
        From MembersCTE
        Inner Join Members On MembersCTE.MemberId = Members.MemberId
        option(maxrecursion 0) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2005 sql-server-2008

6
推荐指数
1
解决办法
1535
查看次数

如何从html中仅提取文本

我要求提取<body>html中存在的所有文本.示例Html输入: -

<html>
    <title>title</title>
    <body>
           <h1> This is a big title.</h1>
           How are doing you?
           <h3> I am fine </h3>
           <img src="abc.jpg"/>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

输出应该是: -

This is a big title. How are doing you? I am fine
Run Code Online (Sandbox Code Playgroud)

我只想将HtmlAgility用于此目的.请不要正则表达式.

我知道如何加载HtmlDocument,然后使用像'// body'这样的xquery,我们可以获取正文内容.但是如何删除输出中显示的html?

提前致谢 :)

c# html-agility-pack

6
推荐指数
1
解决办法
1万
查看次数

以编程方式将子项添加到stackpanel不起作用

任何人都可以发现我正在做的错误吗?

这是代码:

        StackPanel stackPanel = new StackPanel();
        stackPanel.Orientation = Orientation.Vertical;
        for (int index = _elements.Count - 1; index >= 0; index--)
        {
            FrameworkElement element = _elements[index];
            WriteableBitmap tempBitmap = new WriteableBitmap(element, null);
            Image image = new Image();
            image.Source = tempBitmap;
            stackPanel.Children.Add(image);
        }

        stackPanel.UpdateLayout();

        _bitmap = new WriteableBitmap(stackPanel, null);

        _bitmap.Invalidate();
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在创建一个临时Image,然后将其添加到stackpanel,然后创建一个最终的WriteableBitmap.堆叠板的第一个孩子的身高是154,第二个是389.这一行之后:

 _bitmap.Invalidate();
Run Code Online (Sandbox Code Playgroud)

当我看到PixelHeight时它只有389.我的第一个孩子去了哪里?

c# silverlight silverlight-4.0

6
推荐指数
1
解决办法
8477
查看次数