小编THE*_*all的帖子

子图可以引用另一个命名实体图吗?

所以我找到了一些答案,一个说可以这样做,另一个说不行。这让我很困惑,因为当我尝试这样做时——我失败了。

我想要的是在子图中引用命名实体图,如下所示:

@Entity
@Table(name = "parent")
@NamedEntityGraphs({
    @NamedEntityGraph(
        name = "Parent.all",
        attributeNodes = {
            @NamedAttributeNode(value = "child", subgraph = "Child.all"), // here I am referencing graph specified in Child entity
        }
    )
})
public class ParentModel {

  @OneToOne(
      mappedBy = "parent",
      fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
  private ChildModel child;

}
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name = "child")
@NamedEntityGraphs({
    @NamedEntityGraph(
        name = "Child.all",
        attributeNodes = {
            @NamedAttributeNode(value = "grandChildren"),
        }
    )
})
public class ChildModel {

  @OneToOne(fetch = FetchType.LAZY)
  @JoinColumn(name …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa spring-data entitygraph

7
推荐指数
1
解决办法
1292
查看次数

拥有多个 DAO 可以吗?

假设我有一个包含两个表的数据库:companiesemployees。我应该创建companyDAOemployeeDAO如果我从这两个表中选择、更新、添加和删除吗?

或者我应该创建一个 DAO,在其中为数据库中的每个表编写 CRUD 操作方法?

java mysql dao

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

旧字符串是否会从字符串池中删除?

我见过几个类似的问题,但他们的答案并没有真正回答我的问题。

当我们编辑字符串并创建新字符串时,旧字符串去了哪里。

String s1 = "Hello"
s1 += "World"
Run Code Online (Sandbox Code Playgroud)

我们有一个字符串 Hello,但随后创建了一个新字符串,它是 HelloWorld。

字符串 Hello 是否仍在字符串池中(我猜不是,因为我们失去了对它的引用)。垃圾收集器会销毁它吗?

如果我们创建一个新字符串并使用 intern 方法会怎样?该字符串将从池中取出吗?

String s1 = "Hello";
s1 += "World";

String s2 = "Hello";
Run Code Online (Sandbox Code Playgroud)

这个话题中,Stephen C 说

如果字符串变得无法访问,它们将被垃圾收集

但我做了这样的事:

        String s1 = "Hello";
        System.out.println(System.identityHashCode(s1));
        s1 += "World";

        System.gc();

        String s2 = "Hello";
        System.out.println(System.identityHashCode(s2));
Run Code Online (Sandbox Code Playgroud)

它打印了相同的身份哈希码,尽管我丢失了对“Hello”字符串的引用,并且新的应该打印了另一个身份哈希码。

他还表示

这意味着只要该方法可以执行,该字符串就可以访问。

但我做了一个与上面类似的实验,该方法创建了一个字符串,然后在另一种方法中,我创建了相同的字符串(在使用 System.gc 之前),并打印出相同的身份哈希代码。

如果我丢失了对这两种情况的引用,为什么 GC 不会销毁它们?

java

5
推荐指数
0
解决办法
353
查看次数

如何创建自定义 Web 安全表达式以在 JSP 中使用?

如何创建您自己的 Web 安全表达式,以便我能够在 JSP 文件中使用它,例如:

<sec:authorize access="isOwner()"> some content here </sec:authorize>
Run Code Online (Sandbox Code Playgroud)

java spring-mvc spring-security

3
推荐指数
1
解决办法
1459
查看次数